Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 써니나타스
- Network
- N0Named
- Web Hacking
- misc
- writeup
- Database
- Text
- 정렬
- CTF
- Python
- HackCTF
- 문자열
- Incognito
- Digital Forensics
- SuNiNaTas
- 백준
- 수학
- Web
- cryptography
- php
- 인코그니토
- C
- MySQL
- 구현
- wargame
- 사칙연산
- Forensics
- 그리디 알고리즘
- xcz.kr
Archives
- Today
- Total
보안을 그리다, 훈이
[Baekjoon/Python3] 15904번 UCPC는 무엇의 약자일까? 본문
Programming/Python & Data Structures
[Baekjoon/Python3] 15904번 UCPC는 무엇의 약자일까?
HooNeee 2020. 12. 8. 17:36[Baekjoon/Python3] 15904번 UCPC는 무엇의 약자일까?
15904번: UCPC는 무엇의 약자일까?
첫 번째 줄에 알파벳 대소문자, 공백으로 구성된 문자열이 주어진다. 문자열의 길이는 최대 1,000자이다. 문자열의 맨 앞과 맨 끝에 공백이 있는 경우는 없고, 공백이 연속해서 2번 이상 주어지는
www.acmicpc.net
처음 문제를 읽었을 때, 문자열의 대문자만 필터링 한 값이 'UCPC'인지, 아닌지를 구하는 문제로 인식했고
아래 코드를 제출했다.
s = input()
u = ''
alp = [chr(i) for i in range(65, 91)]
for i in s:
if i in alp:
u += i
if u == 'UCPC':
print('I love UCPC')
else:
print('I hate UCPC')
'틀렸습니다'란다.
문제를 아무리 읽어봐도 문제의 의도에 코드가 부합한다고 생각되어 백준에 질문해보았다.
음.. 'UCPCC'가 반례라고 한다. (wjsqjawns님 감사합니다ㅜㅜ)
다시 문제를 읽어봐도.. 나만 이해가 안되는건지 모르겠다.
어쨌든 반례도 알았으니 문자열 슬라이싱 기법으로 코드를 작성했다.
'U', 'C', 'P', 'C' 만 순서대로 입력되면 그 외 어떠한 문자가 입력되어도 'I love UCPC'가 출력되도록 하였다.
다음 코드가 최종 코드이다.
s = input()
alp = ['U', 'C', 'P', 'C']
i = 0
for a in alp:
if a in s:
i += 1
s = s[s.index(a) + 1:]
else:
print('I hate UCPC')
break
if i == 4:
print('I love UCPC')
'Programming > Python & Data Structures' 카테고리의 다른 글
[Baekjoon/Python3] 16204번 카드 뽑기 (0) | 2020.12.08 |
---|---|
[Baekjoon/Python3] 15963번 CASIO (0) | 2020.12.08 |
[Baekjoon/Python3] 15813번 너의 이름은 몇 점이니? (0) | 2020.12.08 |
[Baekjoon/Python3] 15781번 헬멧과 조끼 (0) | 2020.12.08 |
[Baekjoon/Python3] 15740번 A+B - 9 (0) | 2020.12.08 |
Comments