곽로그

[백준 2577] 숫자의 개수 본문

알고리즘/백준

[백준 2577] 숫자의 개수

일도이동 2019. 4. 22. 12:10
반응형

 

 

2577번: 숫자의 개수

첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다.

www.acmicpc.net

접근법

 문제에서의 핵심은  "0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지"이다. 여기서 0부터 9까지라고 해서 배열의 인덱스가 떠올랐다. number=A*B*C라고 하면 number를 10으로 나눈 나머지에 해당하는 인덱스의 값을 +1씩하면 되지 않을까 생각을 했다. 

 

1) A,B,C를 입력받는다.

2) A,B,C를 곱한 수를 number에 대입한다. 

3) 길이가 10인 (0부터 9까지)인 int배열을 선언한다.

4) while

 4-1) number를 10으로 나눈 나머지에 해당하는 인덱스의 값을 1증가시킨가

 4-2) number에 number를 10으로 나눈 몫을 대입한다

 4-3) number가 0보다 클때까지 반복한다

5) 배열에 있는 수를 차례로 출력한다

 

위에 대응하는 코드는 아래와 같다.

 

 

 

public class Main {
	public static void main(String[] args) {
		Scanner in=new Scanner(System.in);
		int A=in.nextInt();
		int B=in.nextInt();
		int C=in.nextInt();
		
		int number=A*B*C;
		int[] numCount=new int[10];
		while(number>0) {
			numCount[number%10]+=1;
			number/=10;
		}
		for(int count:numCount) {
			System.out.println(count);
		}

	}

}

 

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 2448] 별찍기-11 (시간초과)  (0) 2019.04.24
[백준 8958] OX퀴즈  (0) 2019.04.24
[백준 1065] 한수  (0) 2019.04.19
[백준 4673] 셀프 넘버  (0) 2019.04.18
[백준 1110] 더하기 사이클  (0) 2019.04.18
Comments