Algorithm/Implementation
(Python) - BOJ(2204번) : 도비의 난독증 테스트
하눤석
2022. 3. 15. 11:53
728x90
오랜만에 글을 씁니다.... SK코테보고 탈탈털려서 멘탈이 나갔었습니다ㅠ. 다시 열심히 해보겠씁니다!!
https://www.acmicpc.net/problem/2204
- 문제 :
꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다.
하지만 인성이 좋지 않은 꿍은 사실 그러고 싶지 않았기 때문에 대소문자를 마구 섞어가며 단어들을 제시했다. 예를 들어, apPle은 Bat보다 앞서지만 AnT보다는 뒤에 있는 단어다.
도비에게 희망은 여러분뿐이다! 여러분이 도비에게 자유를 선물해주도록 하자!
- 풀이 :
주어진 문자를 ["소문자로 치환한 문자열", "원래 문자열"]의 형태로 words 배열에 저장합니다.
이 배열을 key는 0번째 원소로 하여 오름차순 정렬하고 0번 인덱스의 두 번째 요소인 원래 문자열을 출력해주면 됩니다.
- 소스코드 :
while True:
N = int(input())
if N == 0:
break
words = []
for i in range(N):
tmp = input()
words.append([tmp.lower(),tmp])
print(sorted(words,key = lambda x : x[0])[0][1])
320x100