반응형
백준 2577번 java 숫자의 개수 (Array)
위에 입출력처럼 결과가 나와야 되는데 150, 266, 427을 입력하면 이 세 수를 곱한다.
17,037,300의 결과가 나온다. 그러면 0은 3회 1은 1회 3, 7은 2회씩 쓰였다. 오른쪽에 출력값은 그것을 의미하는 것이다.
코드
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
import java.util.Scanner;
//baekjoon_2577
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int ar[] = new int[10];
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
int sum = a*b*c;
while(sum>0) {
ar[sum%10]++;
sum /= 10;
}
for(int i=0; i<10; i++)
System.out.println(ar[i]);
}
}
|
cs |
line 7 : 출력할때 한 줄에 하나 씩 10줄이 출력된다.(0에서~9까지) 그러므로 배열 크기를 10으로 잡는다.
line 9,10,11 : 곱할 수 a, b, c 입력.
line 12 : abc를 곱해서 sum에 저장해준다.
line 13,14 : while문으로 어떤 수가 쓰였는지 일의자리부터 검사한다. 10으로 나눠 나머지가 곧 1의 자리를 의미하니 그 수의 위치한 배열원소를 ++시킨다.(예를들어 1의자리 수가 0이면 배열 ar[0]의 원소값을 1올리는 것이다.)
line 15 : 일의 자리 검사를 마쳤으므로 10으로 나눠서 몫만 저장한다.(일의 자리는 버려진다)
line 17~19 : 배열원소를 한 줄에 하나씩 출력해준다.
끗~
반응형
'프로그래밍 > 백준 알고리즘 코드' 카테고리의 다른 글
백준 1546번 java 평균 (배열) (0) | 2020.09.07 |
---|---|
백준 3052번 java 나머지 (boolean 배열) (4) | 2020.09.04 |
백준 2562번 java 최댓값 (1차원 배열) (0) | 2020.09.03 |
백준 10818번 java 최소, 최대 (1차원 배열) (0) | 2020.09.03 |
백준 10996번 java 별 찍기 - 21 for문 (0) | 2020.09.02 |
댓글