Algorithm/백준

[백준 알고리즘] 15904번: UCPC는 무엇의 약자일까? (Python)

에릭 Kim 2023. 6. 20. 14:41
반응형

https://www.acmicpc.net/problem/15904

 

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

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

www.acmicpc.net

 

소스코드

 

 

풀이

★ 입력받은 문자열을 UCPC로 만들기 위해서 축약을 진행해야 하는데, 축약을 했을 때 UCCPCC or UCPPPC와 같이 해당 문자열이 반복될 수도 있습니다. 그렇기에 그러한 부분들을 고려하여 풀이를 진행해야 합니다 ! 

 

★ 입력받은 문자열을 읽으면서 해당 글자가 ucpc라는 리스트 안에 들어있는 글자들과 같은지 비교해줍니다. 이 때, ucpc 리스트의 첫번째 알파벳과 같은지 확인해줘야 하는데, 그 이유는 같을 경우 stack에 추가되는 동시에 ucpc안의 알파벳들은 pop(0)되기 때문입니다. 

 

★ 비교 과정이 끝났을 때 stack이 비어있지 않고, 그 안의 값들이 UCPC와 같으면 'I love UCPC'를, 아니라면 'I hate UCPC'를 출력해줍니다 :) 

반응형