일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
Tags
- 공변성
- CI/CD
- 무한 스크롤
- app router
- RTK Query
- 결정 알고리즘
- Cypress
- ESlint
- 리터럴 타입
- Promise
- 타입 좁히기
- useAppDispatch
- 반공변성
- async/await
- TS
- webpack
- recoil
- map
- CORS
- 투포인터
- tailwind
- 이분 검색
- React
- dfs
- Jest
- SSR
- autosize
- 인터섹션
- 태그된 유니온
- 호이스팅
Archives
- Today
- Total
짧은코딩
1181단어 정렬 본문
반응형
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