[백준] 도비의 난독증 테스트

2025. 3. 19. 22:36코딩테스트

문제보기 - https://www.acmicpc.net/problem/2204

문제명    - 도비의 난독증 테스트

난이도    - B1

문제유형 - 정렬

풀이일자 - 25.03.19

 

📌 문제 탐색하기

  • 첫 줄에 입력 개수 n (2≤ n ≤ 1000)이 주어짐
    • 이후 n개의 단어가 각 줄에 주어지며 각 단어의 길이는 최대 20자임
  • 마지막 줄에 0이 입력되면서 종료
  • 각 줄에 각 테스트케이스에서 사전상 가장 앞서는 단어를 출력해야 함

 

🛠 시간복잡도 확인

  • 정렬을 사용하므로 시간 복잡도는 O(n log n)
  • n이 최대 1000개 이므로 가능!

 

📌 코드 설계하기

  1. n, n개 단어 입력받기
    • sys.stdin.readline().strip()
    • 0을 만나면 입력멈추기 = 0 만날 때 까지 반복 -> while True
      • if n == 0 :
                break
  2. 대소문자 무시하고 정렬하기
    • sort(key=str.lower)
  3. 가장 첫번째 단어 출력하기
    • print(words[0])

 

📌 정답 코드(1회차)

import sys

# 1. 입력받기
while True:
    n = int(sys.stdin.readline().strip())
    if n == 0: # 0이면 반복 멈추기
        break

    words = [sys.stdin.readline().strip() for _ in range(n)]
    # 2. 대소문자 무시하고 정렬하기
    words.sort(key=str.lower)
    
    # 3. 가장 첫번째 단어 출력하기
    print(words[0])

'코딩테스트' 카테고리의 다른 글

[백준] 숫자 게임  (0) 2025.03.21
[백준] 결혼  (0) 2025.03.20
[백준] 촌수계산  (0) 2025.03.18
[백준] 죽음의 게임  (0) 2025.03.16
[백준] 순열 사이클  (0) 2025.03.15