DataEdit

99클럽 13일차 + 단어 정렬

by Bigdaditor

오늘의 문제

- 비기너: https://www.acmicpc.net/problem/1181

- 미들러: https://school.programmers.co.kr/learn/courses/30/lessons/12951

- 챌린저: https://school.programmers.co.kr/learn/courses/30/lessons/388353

 

오늘의 주제

  • 문자열
  • 정렬

오늘의 회고

틀린 코드

import sys

input = sys.stdin.readline

N = input().rstrip()
words = set()
for _ in range(int(N)):
    word = str(input().rstrip())
    words.add(word)

words_list = list(words)
words_dict = dict()
word_counts = set()

for word in words_list:
    word_counts.add(len(word))

for word_count in word_counts:
    word_groupby_count = list()
    for word in words_list:
        if word_count == len(word):
            word_groupby_count.append(word)
    
    words_dict[word_count] = word_groupby_count

for key in words_dict.keys():
    for sort_word in sorted(words_dict[key]):
        answers.append(sort_word)

 

AI 리팩터링

import sys
input = sys.stdin.readline

n = int(input())
words = {input().strip() for _ in range(n)}  # set으로 중복 제거

# 정렬: 먼저 길이로, 그 다음 사전순
sorted_words = sorted(words, key=lambda x: (len(x), x))

for word in sorted_words:
    print(word)

블로그의 정보

DataEdit

Bigdaditor

활동하기