728x90
https://www.acmicpc.net/problem/2577
[문제]
[코드]
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
int C = sc.nextInt();
int cnt = 0;
String mul = Integer.toString(A*B*C);
for(int i = 0; i < 10; i++) {
for(int j = 0; j < mul.length(); j++) {
if(mul.charAt(j)-'0' == i)
cnt++;
}
System.out.println(cnt);
cnt = 0;
}
sc.close();
}
}
[설명]
1. A,B,C를 입력 받는다.
2. 1부터 9까지의 수를 몇 번 사용했는지 알기 위해 일단 cnt 변수를 0으로 초기화 해 놓는다.
3. A*B*C한 결과를 문자열로 변환하는 Integer.toString()를 사용해 문자열 mul에 넣어준다.
4. 1부터 9까지 수 중에서 몇 번 사용되었는지 알기위해 for문을 작성해준다.
5. for문안에 또 다른 for문을 작성하는데 0부터 mul의 길이까지로 범위를 지정해준다.
6. if(mul.charAt(j)-'0') == i >> 만약 문자열 mul의 j번째 문자가 i와 같다면 cnt를 증가한다는 뜻이다.
7. 안쪽 for문을 빠져나와 cnt를 출력 해주고 다시 0으로 초기화 해준다.
*a.charAt(0): 문자열 a의 0번째 문자를 반환해주는 코드이다.
a.charAt(0)-'0'으로 작성하지 않으면 다 0으로 출력되니 주의하기 바람
[결과]
728x90
'백준(Baekjoon)' 카테고리의 다른 글
[백준] 2908번: 상수 - 자바 (0) | 2022.05.19 |
---|---|
[백준] 2675번: 문자열 반복 - 자바 (0) | 2022.05.18 |
[백준] 10872번: 팩토리얼 - 자바 (0) | 2022.05.16 |
[백준] 2523번: 별 찍기 - 13 - 자바 (0) | 2022.05.13 |
[백준] 2884번: 알람 시계 - 자바 (0) | 2022.05.10 |