문제

문제출처 : Baekjoon

img

풀이

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]);
        }
    }
}

회고

  1. 배열에 넣어야 한다는것까지는 생각이 닿았는데, 그걸 어떻게 배열에 넣어야할지? 이부분에 대한 생각이 어려워서 다른분들의 코드를 참고했다ㅠㅠ.. 어떻게 이렇게 해야지! 하고 다들 생각을 할 수 있을까?! 신기하다.
  2. while문에 대해서 다시 생각하자면, result%10 을 하고나서 그거에 대한 값(나머지)를 arr[?] 의 값을 증가시키고, 그러고나서 result /= 10 을 하면 result가 int라서 소수점은 제외되고 앞의 정수값만 남게되는 그런 구조! 그렇게 result가 0보다 작을때까지 계산을 하는 그런 구조다. 뭔가 1~9까지 값을 넣을때는 주로 10으로 나눠서 계산하는게 많은것 같다. 이부분에 대해서 상기시키고 기억하고 가야겠다. 코딩은 못하더라도, 이부분까지 생각이 닿을 수 있도록!