[백준] 2577. 숫자의 개수
문제
https://www.acmicpc.net/problem/2577
풀이
세 정수를 입력 받아 그 세 정수의 곱을 구한 뒤, 결과값의 각 숫자들이 몇번이 나왔는지를 구하는 문제.
0~9까지 담을 배열을 먼저 만들어 준다. 그리고 index를 나타낼 변수 arr를 선언.
a, b, c를 곱한 값을 String으로 변환해야하는데 그 이유는 숫자 하나하나씩을 분리해서 count를 해야하기 때문!
String 타입으로 바뀐 곱셈값을 하나씩 가져와서 다시 숫자로 변환 후 count 배열에 개수를 +1 해준다.
만약에 1733이라는 곱셈값이 있다면 count[1] = 1, count[3] = 2, count[7] = 1 이라는 결과가 될 것.
📌 int형을 String으로 바꾸는 방법에는 여러가지가 있다.
1. 숫자 뒤에 큰 따옴표를 붙이는 것 → String num = (abc) + "";
2. toString()을 활용할 것 → String num = Integer.toString(abc);
3. valueOf()를 활용할 것 → String num = String.valueOf(abc);
코드
import java.util.Scanner;
public class Q_2577 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
int c = sc.nextInt();
//0~9까지 담을 배열
int[] count = new int[10];
int arr = 0;
String num = String.valueOf(a*b*c);
for(int i = 0; i < num.length(); i++) {
// 문자열을 int로 변환
arr = (num.charAt(i) - '0');
count[arr]++;
}
for(int k : count) {
System.out.println(k);
}
sc.close();
}
}
- valueOf()와 toString()의 차이점
Object가 null인 경우에 두 가지의 차이점을 확인할 수 있다.- toString()일 때 → NullPointException을 발생
- valueIOf()일 때 → "null" 이라는 문자열을 출력
Author And Source
이 문제에 관하여([백준] 2577. 숫자의 개수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@bonni/백준-2577.-숫자의-개수저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)