문제
숫자는 다양성을 가지고 있다. 다양성이란, 숫자를 구성하는 수의 종류를 의미한다.
예를 들어서 1512 라는 숫자는 ‘1’, ‘5’, ‘2’로 구성되어 있기 때문에 다양성이 3이다.
숫자가 주어졌을 때 그 숫자의 다양성을 구하는 프로그램을 작성하라.
풀이방법
10크기의 1차원 배열을 선언하고 0으로 초기화 한다.
숫자가 입력으로 주워졌을 때, 각 자리 수의 값(0 ~ 9)와 일치하는 인덱스의 값에 1을 넣는다.
입력받은 숫자를 전부 검사했을 때, 배열 원소의 값 중 1의 값을 카운트한다.
소스코드
package samsung;
import java.util.*;
public class s_7728 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int test = sc.nextInt();
for(int t = 1; t <= test; t++) {
String s = sc.next();
int[] a = new int[10];
for(int j = 0; j < s.length(); j++) {
int tmp = s.charAt(j) - '0';
a[tmp] = 1;
}
int cnt = 0;
for(int j = 0; j < 10; j++) {
if(a[j] == 1)
cnt++;
}
System.out.println("#" + t + " " + cnt);
}
}
}
출처
'Problem Solving > SWEA' 카테고리의 다른 글
[SWEA] 8104. 조 만들기 (0) | 2020.02.24 |
---|---|
[SWEA] 7964. 부먹왕국의 차원 관문 (0) | 2020.02.24 |
[SWEA] 7532. 세영이의 SEM력 연도 (0) | 2020.02.24 |
[SWEA] 7510. 상원이의 연속 합 (0) | 2020.02.24 |
[SWEA] 6019. 기차 사이의 파리 (0) | 2020.02.24 |
댓글