곽로그
[백준 2577] 숫자의 개수 본문
반응형
접근법
문제에서의 핵심은 "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