반응형
Approach
출처: https://www.acmicpc.net/problem/2588
각 자릿수를 쉽게 처리하기 위해서 문자열로 받아서
배열(인덱스)로 받아 아스키 코드를 이용해 처리한다.
A * B 결과자는 문자열 B를 atoi 함수로 정수로 변환해서 계산한다.
참고로 atoi() 함수는 <stdlib.h> 헤더파일에 있다.
#include <stdio.h>
#include <stdlib.h>
int A;
char B[4];
int main()
{
// freopen("input.txt", "r", stdin);
scanf("%d", &A);
scanf("%s", B);
for (int i = 2; i >= 0; --i)
{
printf("%d\n", A * (B[i] - '0'));
}
printf("%d\n", A * atoi(B));
}
또 다른 방법으로는 나눗셈과 나머지 연산을 구하는 것이다.
%10 을 통해 1의 자리수를 구할 수 있다.
1 → 10 → 100 자릿수를 구하기 위해서 10으로 나누어서 한자리씩 절삭하면서
동시에 1의 자릿수를 구해서 결과에 반영해준다.
#include <iostream>
using namespace std;
int N, M;
int main()
{
// freopen("input.txt", "r", stdin);
cin >> N >> M;
int result = N * M;
for (int i = 0; i < 3; i++)
{
cout << N * (M % 10) << endl;
M = M / 10;
}
cout << result << endl;;
}
반응형
'PS 문제 풀이 > Baekjoon' 카테고리의 다른 글
[BOJ] 백준 2605 줄 세우기 (0) | 2022.01.12 |
---|---|
[BOJ] 백준 2592 대표값 (0) | 2022.01.12 |
[BOJ] 백준 2566 최댓값 (1) | 2022.01.10 |
[BOJ] 백준 2506 점수계산 (0) | 2022.01.08 |
[BOJ] 백준 2495 연속구간 (0) | 2022.01.07 |
댓글