반응형
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

짧은코딩

1181단어 정렬 본문

코딩 테스트(Python)/백준, 프로그래머스

1181단어 정렬

5_hyun 2022. 6. 10. 18:00
반응형

https://www.acmicpc.net/problem/1181

 

1181번: 단어 정렬

첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.

www.acmicpc.net

 

내 풀이(맞음)

n = int(input())

ary = []
for i in range(n):
    x = input()
    if x not in ary:
        ary.append(x)

cnt = [] #(길이, 문자)
for i in range(len(ary)):
    t = ary[i]
    cnt.append((len(t), t))

cnt.sort()
for i in range(len(cnt)):
    print(cnt[i][1])

이 문제는 처음 봤을 때 엄청 쉬워보였다. 하지만 막상 해보니까 조금은 까다로웠다.

먼저 중복되는 단어는 출력하지 않기 때문에 중복되는게 있는지 확인하고 ary에 단어를 입력해준다.

그리고 cnt에 (길이, 문자) 이렇게 튜플 형식으로 넣어준다. 그리고 cnt를 정렬하면 문자 수 대로 + 사전 순으로 정렬이 완료된다.

반응형

'코딩 테스트(Python) > 백준, 프로그래머스' 카테고리의 다른 글

1316 그룹 단어 체커  (0) 2022.06.13
1213 팰린드롬 만들기  (0) 2022.06.11
1157 단어 공부  (0) 2022.06.09
14425 문자열 집합  (0) 2022.06.08
2161 카드1  (0) 2022.06.07
Comments