문제
해결 방안 고민
•
“CAMBRIDGE” 문자열을 구성하는 각각의 문자들을 입력한 문자열의 문자들과 비교하는 로직 구성을 해야 한다.
해결 방법
•
“CAMBRIDGE” 문자열을 구성하는 각각의 문자들을 활용하여 char 배열을 생성한다.
•
반복문을 통해 각각의 문자들을 비교한다.
•
count 변수를 활용하여 만약 비교한 문자들이 같다면 count를 증가시킨다.
•
입력한 문자열의 특정 문자를 비교하는 과정에서 count가 0이 아니라면 StringBuilder에 추가하지 않는다.
코드
package algo250331;
import java.io.*;
// 백준 - 유학 금지 (브론즈 2)
public class Baek2789 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
char[] spell = {'C', 'A', 'M', 'B', 'R', 'I', 'D', 'G', 'E'};
String str = br.readLine();
int length = str.length();
for (int i = 0; i < length; i++) {
int count = 0;
for (char c : spell) {
if (str.charAt(i) == c) {
count++;
}
}
if (count == 0) {
sb.append(str.charAt(i));
}
}
System.out.println(sb);
}
}
Java
복사
다른 풀이
package algo250331;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// 백준 - 유학 금지 (브론즈 2)
public class Baek2789_2 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
char[] spell = "CAMBRIDGE".toCharArray();
String str = br.readLine();
for (char c : spell) {
if (str.indexOf(c) > -1) {
str = str.replace(String.valueOf(c), "");
}
}
System.out.println(str);
}
}
Java
복사