반응형
https://www.acmicpc.net/problem/2577
int A, B, C의 값을 입력 받은 뒤 곱셈한 값을 구한다.
int A=0, B=0, C=0;
cin>> A >> B >> C;
int mul = A * B * C;
크기가 10인 배열을 만든다.
이때 각각의 주소에 들어가는 값은, 해당 주소의 숫자를 카운트한 값이다.
예를 들어, num[2]에 들어가는 값은 mul에서 2의 개수를 센 값이다.
그 뒤 mul의 맨 뒷자리부터 어떤 숫자인지 카운트 한다.
mul % 10 한 값이 가장 뒤의 숫자이며,
mul /= 10; 을 통해 이미 센 수를 제거해준다.
모든 자리를 전부 셀 때까지 (mul이 0이 될 때까지) 반복한다.
while(mul > 0){
num[mul%10]++;
mul /= 10;
}
마지막으로 모든 배열의 값을 출력해준다.
for(int i = 0; i<10; i++){
cout << num[i] <<endl;
}
[전체 코드]
#include <iostream>
using namespace std;
int main(){
int A=0, B=0, C=0;
cin>> A >> B >> C;
int mul = A * B * C;
int num[10]= {};
while(mul > 0){
num[mul%10]++;
mul /= 10;
}
for(int i = 0; i<10; i++){
cout << num[i] <<endl;
}
}
반응형
'Online-Judge > Baekjoon' 카테고리의 다른 글
[Baekjoon] C++ 4344번 평균은 넘겠지 (0) | 2021.06.01 |
---|---|
[Baekjoon] C++ 11654번 아스키 코드 (0) | 2021.05.31 |
[Baekjoon] C++ 2920번 음계 (0) | 2021.05.31 |
[Baekjoon] C++ 10039번 평균 점수 (0) | 2021.05.31 |
[Baekjoon] C++ 1110번 더하기 사이클 (0) | 2021.05.21 |
댓글