728x90
BOJ 15904 UCPC는 무엇의 약자일까?
문제
UCPC는 '전국 대학생 프로그래밍 대회 동아리 연합 여름 대회'의 줄임말로 알려져있다.
하지만 이 줄임말이 정확히 어떻게 구성되었는지는 아무도 모른다.
UCPC 2018을 준비하던 ntopia는 여러 사람들에게 UCPC가 정확히 무엇의 줄임말인지 물어보았지만,
아무도 정확한 답을 제시해주지 못했다. ntopia가 들은 몇 가지 답을 아래에 적어보았다.
Union of Computer Programming Contest club contest
Union of Computer Programming contest Club contest
Union of Computer Programming contest club Contest
Union of Collegiate Programming Contest club contest
Union of Collegiate Programming contest Club contest
Union of Collegiate Programming contest club Contest
University Computer Programming Contest
University Computer Programming Club contest
University Computer Programming club Contest
University Collegiate Programming Contest
University CPC
...
ntopia는 이렇게 다양한 답을 듣고는 UCPC가 무엇의 약자인지는 아무도 모른다고 결론내렸다.
적당히 슥삭해서 UCPC를 남길 수 있으면 모두 UCPC의 약자인 것이다!
문자열이 주어지면 이 문자열을 적절히 축약해서 "UCPC"로 만들 수 있는지 확인하는 프로그램을 만들어보자.
축약이라는 것은 문자열에서 임의의 문자들을 제거하는 행동을 뜻한다.
예를 들면, "apple"에서 a와 e를 지워 "ppl"로 만들 수 있고,
"University Computer Programming Contest"에서 공백과 소문자를 모두 지워 "UCPC"로 만들 수 있다.
문자열을 비교할 때는 대소문자를 구분해 정확히 비교한다.
예를 들어 "UCPC"와 "UCpC"는 다른 문자열이다.
따라서 "University Computer programming Contest"를 "UCPC"로 축약할 수 있는 방법은 없다.
그나저나 UCPC는 정말 무엇의 약자였을까? 정확히 아시는 분은 제보 부탁드립니다.
시간 제한 : 1 초
메모맂 제한 : 512 MB
입력
첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다.
문자열의 길이는 최대 1,000자이다.
문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는 경우도 없다.
출력
첫 번째 줄에 입력으로 주어진 문자열을 적절히 축약해 "UCPC"로 만들 수 있으면 "I love UCPC"를 출력하고,
만들 수 없으면 "I hate UCPC"를 출력한다.
예제 입력 1
Union of Computer Programming Contest club contest
예제 출력 1
I love UCPC
예제 입력 2
University Computer Programming
예제 출력 2
I hate UCPC
풀이
n = input()
ucpc = ['U', 'C', 'P', 'C']
res = ""
cnt = 0
for i in n :
if res == "UCPC" : break
elif i.isupper() and i == ucpc[cnt] :
res += i
cnt += 1
if res == "UCPC" :
print("I love UCPC")
else :
print("I hate UCPC")
728x90
'Algorithm(Python) > 그리디' 카테고리의 다른 글
[Algorithm] 백준 BOJ 19941 햄버거 분배(python 파이썬) (0) | 2022.11.13 |
---|---|
[Algorithm] 백준 BOJ 2012 등수 매기기(python 파이썬) (0) | 2022.11.11 |
[Algorithm] 백준 BOJ 12904 A와 B(python 파이썬) (0) | 2022.11.07 |
[Algorithm] 백준 BOJ 1946 신입 사원(python 파이썬) (0) | 2022.11.06 |
[Algorithm] 백준 BOJ 2810 컵홀더(python 파이썬) (0) | 2022.11.05 |