[SWEA] 문제 제목 붙이기

문제 보러가기

제한사항

하나의 정수 N의 범위는 ( 1 ≤ N ≤ 100 ) 이다.

첫번째 생각

pq로 문제 제목을 모두 정렬한 후, pq.poll()을 하며 순서대로 문제 제목을 꺼냅니다.

문제 제목을 꺼낸 후 다음 문제 제목이 나올 수 있도록 alpha[index] = true로 선언해준다면

alpha[0]부터 true의 갯수가 정답이 됩니다.

Code

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
32
33
34
35
import java.util.PriorityQueue;
import java.util.Scanner;

public class Solution {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		for(int tc=1;tc<=T;tc++) {
			int N = sc.nextInt();
			boolean[] alpha = new boolean[27];
			alpha[0] = true;
			PriorityQueue<String> pq = new PriorityQueue<>();
			for(int i=0;i<N;i++) { 
				pq.add(sc.next());
			}
			int count=0;
			while(!pq.isEmpty()) {
				String s = pq.poll();
				if(alpha[s.charAt(0)-65]) {
					alpha[s.charAt(0)-64] = true;
				} 
			}
			
			for(int i=1; i<alpha.length; i++) {
				if(alpha[i]) {
					count++;
				} else {
					break;
				}
			}
			System.out.println("#"+tc+" "+count);
		}
	}
}