알고리즘 풀이

백준 2588번

juju824 2020. 10. 8. 03:10

📌 (세자리 수) * (세자리 수)

www.acmicpc.net/problem/2588

 

2588번: 곱셈

첫째 줄부터 넷째 줄까지 차례대로 (3), (4), (5), (6)에 들어갈 값을 출력한다.

www.acmicpc.net

      4 7 2 (1)
    x 3 8 5 (2)
    2 3 6 0 (3)
  3 7 7 6   (4)
2 4 1 6     (5)
1 8 1 7 2 0 (6)

 

(1)과(2)는 입력이고 (3),(4),(5),(6) 을 출력할 때

 

#include <stdio.h>
int main(){
    int a,b;
    scanf("%d %d", &a, &b);
    printf("%d\n", a*(b%10));
    printf("%d\n", a*((b%100)/10));
    printf("%d\n", a*(b/100));
    printf("%d", a*b);
}

나는 이렇게 적었으나 효율적이지 못하다 생각

🙀...어.. 그런데 다른 사람 코드 보니까 다 이렇게 적었다 

 

우선 b%10을 하면 385%10=38...5 나머지 5만 남으니 5를 곱해줌

b%100 = 3...85 즉 85이고 85/10 = 8 십의 자리 숫자만 빼옴

b/100 = 3 백의 자리 숫자만 빼옴 

 

👉 이경우 가장 중요한건 백의자리 숫자, 십의 자리 숫자, 일의 자리 숫자를 어떻게 빼올 것이냐

'알고리즘 풀이' 카테고리의 다른 글

백준 1008번 A/B  (0) 2020.10.08