▶ 문제
https://www.acmicpc.net/problem/2577
2577번: 숫자의 개수
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
www.acmicpc.net
▶ 설명
입력한 값들을 곱한 결과에서 0~9 중 쓰인 숫자를 카운트하는 문제이다.
입력 받을 때 문자열이었다면 정수형으로 형변환을 한 번 해준 뒤,
곱셈 연산을 한 후 정수형으로 된 결과값을 다시 문자열로 변환하여 charAt( )로 처리할 수 있다.
▶ 문제 풀이
🌱 풀이1.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int a = Integer.parseInt(br.readLine());
int b = Integer.parseInt(br.readLine());
int c = Integer.parseInt(br.readLine());
int multiplyResult = a*b*c;
String aStr = Integer.toString(multiplyResult);
for(int i=0;i<10; i++) {
int count=0;
for(int j=0; j<aStr.length(); j++) {
if((aStr.charAt(j)-'0')==i) {
count++;
}
}
System.out.println(count);
}
}
}
if((aStr.charAt(j)-'0')==i) charAt( ) 는 아스키코드의 문자/코드를 반환한다. 문자열로 된 숫자들을 한 자리씩 정수형 숫자로 되돌려 받으려면 charAt('숫자')- '0'을 빼주어야 한다.
본연의 숫자를 반환하면 0부터 9까지 비교하여 일치할 때마다 카운트를 하고 바로 출력하도록 한다.
▶ Log
728x90
반응형
'백준 알고리즘 > 1차원 배열' 카테고리의 다른 글
[JAVA 자바] 백준 4344번 : 평균은 넘겠지 (0) | 2022.05.28 |
---|---|
[JAVA 자바] 백준 8958번 : OX퀴즈 (0) | 2022.05.28 |
[JAVA 자바] 백준 1546번 : 평균 (0) | 2022.05.27 |
[JAVA 자바] 백준 3052번 : 나머지 (0) | 2022.05.26 |
백준 2562번 :: 최댓값 (0) | 2022.05.25 |