[B2] 백준 2577 숫자의 개수 - Java
by Rev_https://www.acmicpc.net/problem/2577
2577번: 숫자의 개수
첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다.
www.acmicpc.net
[코드]
import java.util.*;
// 숫자의 개수
public class Main {`
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int number = (sc.nextInt() * sc.nextInt() * sc.nextInt());
String str = Integer.toString(number); // str = '17037300'
sc.close();
for (int i = 0; i < 10; i++) {
int cnt = 0;
for (int j = 0; j < str.length(); j++) {
// 한 char 을 숫자로 바꿀때는 '1' - '0' 과 같이
// Ascii 의 차이값으로 구할 수 있다.
if ((str.charAt(j) - '0') == i) {
cnt++;
}
}
System.out.println(cnt);
}
}
}
받아온 정수값을 문자열로 변환해주었다. String 문자열 자체가 char의 배열 형태로도 볼 수 있기 때문에 각각의 숫자를 따로 가져올 수 있다.
또한 String.charAt(i) - '0'을 사용하여 char to int의 변환이 가능하기 때문에 유용하다.
String 문자열을 Char 배열로 - charAt()
string 문자열은 char 배열로도 볼 수 있다.
charAt() 함수는 string 타입의 문자열에서 특정 문자를 char 타입으로 변환할 때 사용하는 함수이다.
String s = "abcde";
System.out.println(s.charAt(1));
결과값은 index 1인 'b'를 출력하게 된다. 이렇게 string을 배열로 활용할 수 있다.
그리고, string 문자열 자체를 배열로 변환하는 방법도 있다.
String s = "hi-rev";
char[] charArr = s.toCharArray();
System.out.println(Arrays.toString(charArr));
결과값은 [h, i, -, r, e, v] 이 나오게 된다.
toCharArray()를 사용하면 문자열을 바로 배열로 만들 수 있다.
[Reperence]
https://hianna.tistory.com/542
'PS > PS' 카테고리의 다른 글
[S1] 백준 1149 RGB거리 - Java (0) | 2022.09.19 |
---|---|
[B4] 백준 11720 숫자의 합 - Java (0) | 2022.08.11 |
[S5] 백준 4673 셀프 넘버 - Java (0) | 2022.08.09 |
[B4] 백준 15552 빠른 A+B - Java (0) | 2022.08.03 |
[B3] 백준 2588 곱셈 - Java (0) | 2022.07.31 |
블로그의 정보
Hi Rev
Rev_