본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Silver 5][Python] 2204번 : 도비의 난독증 테스트

by 빛밤하늘 2021. 5. 3.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

2204번: 도비의 난독증 테스트

꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실

www.acmicpc.net

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# 0을 입력할 때까지 반복합니다.
while True:
    # 첫 줄에는 단어의 개수인 정수 n을 입력합니다.
    # 2 <= n <= 1000
    n = int(input())

    # 입력한 n이 0이라면
    if n == 0:
        # 반복문을 탈출하고 종료합니다.
        break
    # 입력한 n이 0이 아니라면
    else:
        # 입력할 단어들을 저장하는 리스트 변수를 선언합니다.
        words = []

        # 단어의 개수 n만큼 반복합니다.
        for word_index in range(n):
            # 단어를 하나 입력합니다.
            # 길이가 최대 20자입니다.
            word = input()
            
            # 입력한 단어를 words 리스트 변수에 넣어줍니다.
            words.append(word)

        # words 리스트 변수에 있는 단어들을 대소문자를 구분하지 않고 정렬을 해야하므로
        # 단어 하나하나를 소문자로 바꿨을 때의 사전 순을 기준으로 정렬합니다.
        words.sort(key=lambda word: word.lower())

        # words 리스트 변수의 맨 앞에 있는 단어를 출력합니다.
        print(words[0])

결과

 

제출하고 나서 다른 사람들의 파이썬 결과를 보니 112ms 보다 빠른 제출 결과들도 있었습니다.

시간을 더 줄이는 방법을 공부해보고 다시 한 번 포스팅하겠습니다.

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글