Algorithm/백준 알고리즘_Python
[알고리즘][Python] 백준(BOJ) 15904 UCPC는 무엇의 약자일까?_파이썬
알파이
2020. 11. 18. 08:47
15904 UCPC는 무엇의 약자일까? www.acmicpc.net/problem/15904
15904번: UCPC는 무엇의 약자일까?
첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는
www.acmicpc.net
문제 풀기 전 공부할 것 : 그리디 알고리즘, 문자열
풀이
<내용>
- 문자열을 입력받는다
- string에 f라는 문자가 있으면 f의 index를 return 하고 없으면 -1을 return 하는 find 함수를 정의한다.
- 찾을 문자를 fs에 저장한다
- string을 돌면서 U C P C가 차례로 있는지 확인한다.
- string에 해당 문자가 있다면 string을 해당 문자보다 뒤에 있는 문자로 저장한다.
- string에 해당 문자가 없다면 flag에 False를 저장한다.
- flag가 True면 I love UCPC를 출력하고 False면 I hate UCPC를 출력한다.
<코드>
string = input()
def find(string, f):
if f in string:
return string.index(f)
return -1
fs = ['U', 'C', 'P', 'C']
flag = True
for i in range(4):
idx = find(string, fs[i])
if idx != -1:
string = string[idx+1:]
else:
flag = False
break
if flag:
print('I love UCPC')
else:
print('I hate UCPC')
728x90
반응형