Algorithm/BOJ(Baekjoon Online Judge)

[백준 - 2774번] 아름다운 수 - Java //Wello Horld//

koucop 2020. 3. 5. 13:58

 

 

이번에는 BOJ의 2774번 문제 "아름다운 수" 를 풀어보도록 하자

 

 

입력으로 첫째 줄에 테스트 케이스의 개수 T가 주어지고, 다음 줄부터 아름다운 정도를 알고 싶은 수 X 가 주어진다.

출력으로 각 테스트 케이스마다 X의 아름다운 정도를 한 줄에 하나씩 출력하면 되는 문제이다.

성공한 코드는 아래와 같다.

 

import java.io.*;
import java.util.*;

public class Main {
    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());
        for(int i = 0; i < T; i++){
            long X = Long.parseLong(br.readLine());
            boolean[] arr = new boolean[10];
            while(X != 0){
                arr[(int) (X % 10L)] = true;
                X /= 10;
            }
            int cnt = 0;
            for(int j = 0; j < 10; j++){
                if(arr[j]) cnt++;
            }
            bw.write(cnt + "\n");
        }

        bw.flush();
        br.close();
        bw.close();
    }
}

 

 

 

문제 : https://www.acmicpc.net/problem/2774

 

2774번: 아름다운 수

윤정이는 뭐든지 아름다운 것이 좋다고 생각한다. 그래서 윤정이는 사물을 볼 때 자신이 정한 방법으로 아름다운 정도를 평가한다. 윤정이는 수를 볼 때도 이런 아름다운 수의 정도를 따지는데, 윤정이에게 있어서 아름다운 수의 정도는 그 수를 이루고 있는 10진수의 중복되지 않은 숫자의 개수를 의미한다.  예를 들어 122이라는 수는 1과 2 라는 2개의 숫자로 이루어져 있으므로 아름다운 정도가 2가 된다. 윤정이의 방법으로 여러 수들의 아름다운 정도를 알아보자

www.acmicpc.net

 

혹시 코드에 이상한 부분이나 틀린 부분이 있던지, 이해가 안가는 부분이 있다면 댓글로 알려주세요