백준 1181번: 단어 정렬

ddongseop·2021년 6월 27일
0

Problem Solving

목록 보기
2/49


✔ 풀이를 위한 아이디어

  • 비어 있는 이차원 배열 만들기 (더 효율적인 방법이 있다면 수정하면 좋을 것 같다)
  • 처음부터 애초에 글자수에 따라 분류해서 저장하고, 같은 글자수 안에서만 정렬과 중복제거가 일어나도록 설계

✔ 코드

import sys

words = []
for _ in range(50):
    tmp = []
    words.append(tmp)

num = int(sys.stdin.readline())
    
for _ in range(num):
    word = sys.stdin.readline()
    words[len(word)-2].append(word)

for i in range(len(words)):
    if len(words[i]) == 1:
        print(words[i][0], end="")
    elif len(words[i]) > 1:
        words[i] = sorted(words[i])
        new_list = []
        for v in words[i]:
            if v not in new_list:
                new_list.append(v)
        words[i] = new_list
        for j in range(len(words[i])):
            print(words[i][j], end="")

0개의 댓글