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