문제 링크 https://www.acmicpc.net/problem/2577
문제 설명
세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오.예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다.
#include <iostream>
#include <string>
using namespace std;
int main()
{
int A, B, C;
cin >> A >> B >> C;
int result = A * B * C;
string str = to_string(result);
int arr[11] = { 0, };
for (int i: str) {
arr[i - '0'] += 1;
}
for (int i=0; i<10; i++) {
cout << arr[i] << "\n";
}
}
#include <iostream>
#include <string>
using namespace std;
int main()
{
int A, B, C;
cin >> A >> B >> C;
int result = A * B * C;
int arr[10] = {0, };
while (result != 0) {
arr[result % 10]++;
result /= 10;
}
for (int i: arr) {
cout << i << "\n";
}
}
arr[str[i] - '0']
와 같이 문자열인 값들을 숫자형태로 변환해주기for-each 반복문
for (auto i: 배열이름)
auto
- 반복자 i의 데이터 타입
- 배열의 타입에 따라 자료형이 결정 됨
i
- 배열의 원소들이 순서대로 출력됨# arr의 원소들이 순서대로 출력 for (int i: arr) { cout << i << "\n"; }
파이썬으로 풀었을 때 간단한 문제들도 조금 생각을 하게되는..^^; 휴
생각하는 힘을 기르는 모습 보기 좋습니다^^