Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

시간이 NullNull

[JAVA] [SWEA] 7728. 다양성 측정 본문

알고리즘

[JAVA] [SWEA] 7728. 다양성 측정

4NIng 2019. 6. 4. 20:55

숫자는 다양성을 가지고 있다. 다양성이란, 숫자를 구성하는 수의 종류를 의미한다.

예를 들어서 1512 라는 숫자는 ‘1’, ‘5’, ‘2’로 구성되어 있기 때문에 다양성이 3이다.

숫자가 주어졌을 때 그 숫자의 다양성을 구하는 프로그램을 작성하라.

 

이 문제의 경우 단순하게 다양성이 최소 1 ~ 10이란 것을 알 수 있다.

 

이를 이용하여 boolean[] 배열 10개를 만들어서 아직 숫자가 나오지 않았을 경우( boolean 배열의 값이 false 인 경우 )

 

cnt를 증가시키면 된다.

 

이를 코드로 나타내면 간단하게 다음과 같이 나온다.

 

 

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;

public class D3Solution7728 {

	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
		int T = Integer.parseInt(br.readLine());
		String[] s = null;
		boolean[] flag = new boolean[10];
		int cnt = 0;
		int num = 0;
		for(int t=1; t<=T; t++) {
			cnt = 0;
			Arrays.fill(flag,false);
			s = br.readLine().split("");
			for(int i=0; i<s.length; i++) {
				
				num = Integer.parseInt(s[i]);
				if(!flag[num]) {
					cnt++;
				}
				if(cnt >= 10) {
					break;
				}
				flag[num] = true;
				
			}
			bw.write("#"+t+" "+cnt+"\n");
		}
		br.close();
		bw.close();

	}

}
Comments