© 2025 anveloper.dev
GitHub·LinkedIn·Contact

목차

  • 문제
  • 입력
  • 출력
  • 예제
  • 풀이
  • 코드
  • 복잡도
풀이 목록으로 돌아가기

BOJ 2789 - 유학 금지

2023-12-18
BOJ
브론즈 II
java
원본 문제 보기
구현
문자열

문제

BOJ 2789 - 유학 금지

영어 대문자로 이루어진 문자열에서 "CAMBRIDGE"에 포함된 글자를 모두 제거하고 남은 문자열을 출력하라.

입력

영어 대문자로 이루어진 문자열이 주어진다.

출력

"CAMBRIDGE"에 포함된 문자를 제거한 결과를 출력한다.

예제

입력출력
CONTESTONST

풀이

"CAMBRIDGE"의 각 문자를 순회하며 입력 문자열에서 해당 문자를 제거한다.

  1. "CAMBRIDGE" 문자열을 문자 배열로 변환한다
  2. 각 문자에 대해 String.replace()로 입력 문자열에서 해당 문자를 제거한다
  3. 모든 제거가 끝난 결과를 출력한다

핵심 아이디어: 제거 대상 문자 집합이 고정되어 있으므로 반복적인 문자열 치환으로 해결한다.

코드

package day699;
 
import java.io.*;
 
public class Day681BOJ2789유학금지 {
  public static void main(String[] args) throws Exception {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
 
    char[] w = "CAMBRIDGE".toCharArray();
    String a = br.readLine();
 
    for (int i = 0; i < w.length; i++) {
      if (a.indexOf(w[i]) > -1) {
        a = a.replace(String.valueOf(w[i]), "");
      }
    }
    System.out.println(a);
  }
}

복잡도

  • 시간: O(N)
  • 공간: O(N)