본문 바로가기
Problem Solving/SWEA

[SWEA] 7728. 다양성 측정

by 테리는당근을좋아해 2020. 2. 24.

문제

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

예를 들어서 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);
		}
	}
}

 

출처

https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWq40NEKLyADFARG&categoryId=AWq40NEKLyADFARG&categoryType=CODE

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

댓글