728x90
반응형
https://www.acmicpc.net/problem/11117
풀이
처음에 테스트케이스 수를 입력받습니다. (문자 뒤에 공백 1칸 잇으니 주의!)
알고있는 문자열을 입력받습니다.
알고있는지 체크하기 위한 테스트케이스 수를 입력받고 그 수만큼 문자열을 입력받습니다.
알고있으면 "YES" 아니면 "NO"를 출력하면 됩니다.
int[] alpha = new int[26]하고, charAt()와 clone을 알고있으면 쉽게 풀 수 있는 문제였습니다.
소스코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int size = Integer.parseInt(br.readLine().trim());
StringBuilder sb = new StringBuilder();
while(size --> 0) {
String s = br.readLine();
int[] alpha = new int[26];
for(char ch : s.toCharArray()) {
alpha[ch - 'A']++;
}
int size1 = Integer.parseInt(br.readLine());
while(size1 --> 0) {
int[] num = alpha.clone();
sb.append(solve(br.readLine(), num)).append("\n");
}
}
System.out.print(sb);
}
public static String solve(String s, int[] alpha) {
for(char ch : s.toCharArray()) {
if(alpha[ch - 'A'] == 0) {
return "NO";
}
else {
alpha[ch - 'A']--;
}
}
return "YES";
}
}
728x90
반응형
'백준 > 10001 - 15000' 카테고리의 다른 글
[백준] 12931번 : 두 배 더하기(JAVA) (0) | 2021.08.04 |
---|---|
[백준] 12517, 12518, 12525, 12526번 : Centauri Prime(JAVA) (0) | 2021.08.04 |
[백준] 10815번 : 숫자 카드(JAVA) (0) | 2021.08.01 |
[백준] 12107번 : 약수 지우기 게임1(JAVA) (0) | 2021.07.29 |
[백준] 13773번 : Olympic Games(JAVA) (0) | 2021.07.22 |
댓글