728x90
반응형
SMALL
✏️ 문제
문제 파악
보자마자 아 그냥 find랑 rfind 써서 인덱스로 비교하면 되겠구나 했는데 결국 풀지 못했다.
질문 게시판에 있는 모든 반례
- UCPCC
- UCPPC
- UUCPC
- CUCPC
- UPCPC
를 적용해봤을 때 다 잘 나왔는데 ..
그래서 주어진 문장이 "UPCP" 문자열의 index로 비교하여 차례대로 나오는 지 확인하는 방법으로 풀었다.
알고리즘
- 그리디 알고리즘
- 문자열
코드
- 실패한 코드 - 반례 좀 찾아주세요 ..
s = input()
c_index = -1
p_index = -1
for i, char in enumerate(s):
if char == 'P' and i < s.rfind('C'):
p_index = i
for i, char in enumerate(s):
if char == 'C' and s.find('U') < i < p_index:
c_index = i
if s.find('U') < c_index < p_index < s.rfind('C'):
print("I love UCPC")
else:
print("I hate UCPC")
- 성공 코드
s = input()
target = "UCPC"
index = 0
for char in s:
if char == target[idx]:
index += 1
if index == len(target):
print("I love UCPC")
break
else:
print("I hate UCPC")
728x90
반응형
LIST
'PS > 백준' 카테고리의 다른 글
[Python] 19941번 햄버거 분배 (0) | 2024.07.19 |
---|---|
[Python] 2012번 등수 매기기 (0) | 2024.07.19 |
[Python] 16435번 스네이크버드 (0) | 2024.07.17 |
[Python] 1417번 국회의원 선거 (0) | 2024.07.17 |
[Python] 2847번 게임을 만든 동준이 (0) | 2024.07.16 |