😁 빅데이터 문제 풀기 & Study/- BAEKJOON 문제

[15904] UCPC는 무엇의 약자일까? / 파이썬 (정규표현식 6줄이면 끝)

또방91 2021. 12. 13. 23:22
728x90

 

 

문제 링크: https://www.acmicpc.net/problem/15904

 

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

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

www.acmicpc.net


1차시도 실패

UCPC를 찾을 때, 컴파일을 'UCPC'로만 지정한 것이 문제가 되었다.

<반례> UCCPC

1
2
3
4
5
6
7
8
import re
a=input()
 
p=re.sub(r'[^UCP]',"",a)
 
q= re.match('UCPC',p)
if q: print("I love UCPC")
elseprint('I hate UCPC')
cs

정답은 ??

1
2
3
4
5
6
7
8
import re
a = input()
 
p = re.sub(r'[^UCP]',"",a)
q = re.match('.*U+.*C+.*P+.*C+.*',p)
 
if q: print('I love UCPC')
elseprint('I hate UCPC')
cs

💯 풀이 과정

1
2
3
4
5
6
7
8
9
10
11
import re #정규표현식
a=input()
 
#U,C,P가 아닌 것들은 다 없애기
p=re.sub(r'[^UCP]',"",a)
#UCPC 앞뒤와 사이사이마다 U,C,P가 더 있을수 있으니
#.* 모든문자가 0개이상과 + 1개이상 반복을 써준다
q= re.match('.*U+.*C+.*P+.*C+.*',p)
 
if q: print('I love UCPC')
elseprint('I hate UCPC')
cs

😎오늘의 한줄평: 정규표현식을 알아갈수록 왜틀?이란 물음이 많아져서 반례찾는데 시간이 많이 걸린다..ㅋㅋㅋ

 

 

 

 

728x90