2018.12.29.
문제 출처:
https://www.acmicpc.net/problem/2577
문제 분석:
세자리수 정수 3개를 입력받고 다 곱한 값이 0-9까지가 각각 몇번 있는지 출력하라
문제 해결:
세자리수 정수의 3개의 곱이 몇자리 수인지 알아보고 그 횟수만큼 for문을 돌려 각 자리를 10씩 나눠줘서
해당하는 배열의 크기를 1씩 늘려준다.
내 소스코드:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() { int A, B, C, Result; int arr[10] = {0,};//0-9까지 몇번 출력됬는지 int ans;//각 자리수를 임시저장 int num = 0;//몇자리수 인지확인 int temp;//num을 임시저장 scanf("%d %d %d", &A, &B, &C); Result = A * B * C; temp = Result; while (Result > 0) { num++; Result /= 10; } Result = temp; for (int i = 0;i < num;i++) { ans = Result % 10; arr[ans] += 1; Result /= 10; } printf("%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d\n%d", arr[0], arr[1], arr[2], arr[3], arr[4], arr[5], arr[6], arr[7], arr[8], arr[9]); return 0; } | cs |
실행결과:
고찰:
어려운 문제는 아니었지만 헷갈리지 않게 주석을 넣는 연습을 했다.
'알고리즘 > 알고리즘 문제풀이' 카테고리의 다른 글
2437번: 저울 (0) | 2022.01.23 |
---|---|
8958번: 0X퀴즈 (0) | 2019.01.01 |
2448번: 별 찍기 - 11 (0) | 2018.12.28 |
2444번: 별 찍기 - 7 (0) | 2018.12.26 |
2443번: 별 찍기 - 6 (0) | 2018.12.26 |