코딩테스트/BOJ

[BOJ] 15904 UCPC는 무엇의 약자일까? - JAVA

5월._. 2023. 5. 30.
728x90

1. 문제

 

15904번: UCPC는 무엇의 약자일까?

첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는

www.acmicpc.net

첫 번째 줄에 입력으로 주어진 문자열을 적절히 축약해 "UCPC"로 만들 수 있으면 "I love UCPC"를 출력하고, 만들 수 없으면 "I hate UCPC"를 출력한다.


2. 풀이

정규식을 활용했다. 

정규식에서 .은 모든 문자를 의미하고, *은 0번 이상 무한대 반복한다는 의미다.

따라서 ".*U.*C.*P.*C.*"라는 정규식을 이용해 매칭되는지 확인했다.

import java.io.*;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
		if(in.readLine().matches(".*U.*C.*P.*C.*")){
			System.out.println("I love UCPC");
		}else{
			System.out.println("I hate UCPC");
		}
	}
}

3. 결과

[a-zA-Z ]*U[a-zA-Z ]*C[a-zA-Z ]*P[a-zA-Z ]*C[a-zA-Z ]*

에서

.*U.*C.*P.*C.*

로 변경해서 다시 제출했다.

'코딩테스트 > BOJ' 카테고리의 다른 글

[BOJ] 5525 IOIOI - JAVA  (0) 2023.06.01
[BOJ] 14725 개미굴 - JAVA  (0) 2023.05.31
[BOJ] 1197 최소 스패닝 트리 - JAVA  (0) 2023.05.28
[BOJ] 3055 탈출 - JAVA  (1) 2023.05.27
[BOJ] 1300 K번째 수 - JAVA  (0) 2023.05.26

댓글