문제 : boj5704
각 문자마다 a~z가 모두 있는지 확인하면 된다. 'a'~'z'는 0~25로 표현 가능하므로 26칸짜리 배열 arr에 각 소문자가 나온 횟수를 세보자. 그럼 arr[i]가 1이 되는 경우, 해당 문자가 존재하는게 된다. 따라서 별도로 cnt라는 변수를 둬서 arr[i]가 1이 되는 경우 증가시킨다. 최종적으로 cnt가 26이라면 모든 문자가 있는 것이고, 아니라면 뭔가 빠진 문자가 있는 셈이다.
코드 : github
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class Main {
private void solution() throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s = "";
StringBuilder sb = new StringBuilder();
while (true) {
s = br.readLine();
if (s.equals("*")) break;
int cnt = 0;
int[] arr = new int['Z'-'A'+1];
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (c<'a' || c>'z') continue;
if (++arr[c-'a']==1) cnt++;
}
sb.append(cnt==26?'Y':'N').append('\n');
}
System.out.print(sb);
}
public static void main(String[] args) throws Exception {
new Main().solution();
}
}
'PS > BOJ' 카테고리의 다른 글
[자바] 백준 10821 - 정수의 개수 (boj java) (0) | 2022.06.19 |
---|---|
[자바] 백준 5656 - 비교 연산자 (boj java) (0) | 2022.06.18 |
[자바] 백준 21756 - 지우개 (boj java) (0) | 2022.06.16 |
[자바] 백준 14656 - 조교는 새디스트야!! (boj java) (0) | 2022.06.15 |
[자바] 백준 2028 - 자기복제수 (boj java) (0) | 2022.06.14 |
댓글