[백준] 2577번 문제
문제
문제출처 : Baekjoon
풀이
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int[] arr = new int[10];
int A = sc.nextInt();
int B = sc.nextInt();
int C = sc.nextInt();
sc.close();
int result = A*B*C;
while(result > 0){
arr[result%10]++;
result = result/10;
}
for(int i = 0 ; i < 10; i++){
System.out.println(arr[i]);
}
}
}
회고
- 배열에 넣어야 한다는것까지는 생각이 닿았는데, 그걸 어떻게 배열에 넣어야할지? 이부분에 대한 생각이 어려워서 다른분들의 코드를 참고했다ㅠㅠ.. 어떻게 이렇게 해야지! 하고 다들 생각을 할 수 있을까?! 신기하다.
- while문에 대해서 다시 생각하자면,
result%10
을 하고나서 그거에 대한 값(나머지)를arr[?]
의 값을 증가시키고, 그러고나서result /= 10
을 하면 result가 int라서 소수점은 제외되고 앞의 정수값만 남게되는 그런 구조! 그렇게 result가 0보다 작을때까지 계산을 하는 그런 구조다. 뭔가 1~9까지 값을 넣을때는 주로 10으로 나눠서 계산하는게 많은것 같다. 이부분에 대해서 상기시키고 기억하고 가야겠다. 코딩은 못하더라도, 이부분까지 생각이 닿을 수 있도록!