반응형
250x250
Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- dfs
- SSAFYcial
- 백준
- ssafy 7기 합격
- SSAFY 입학식
- SWEA
- 이코테
- Learning
- 프로그래머스 고득점 kit
- React
- 전이학습
- SSAFY
- ssafy 7기
- 삼성청년sw아카데미
- ssafy 7기 교수님
- 유니온 파인드
- 프로그래머스
- 백준7576 bfs
- pytorch
- 코딩 교육
- bfs
- 삼성 청년 SW 아카데미
- DenseNet
- git
- SSAFY 8기
- 웹 표준 사이트 만들기
- 알고리즘
- 코딩교육
- 싸피 7기 입학식
- DP
Archives
- Today
- Total
개미의 개열시미 프로그래밍
[알고리즘] 백준1181 단어정렬 - 파이썬 본문
728x90
반응형
https://www.acmicpc.net/problem/1181
[나의 풀이 코드]
from sys import stdin
n = int(input())
a = []
b = []
for _ in range(n):
a.append(stdin.readline().split()[0])
a = sorted(set(a)) # 중복제거
for i in a: # 길이를 추가해서 b에 붙이기
b.append([i, len(i)])
# 알파벳순으로 정렬 후 길이순으로 정렬
b.sort(key=lambda x : x[0])
b.sort(key= lambda x : x[1])
for i in b:
print(i[0], sep='\n')
- 중복은 set() 함수를 이용해서 제거한 뒤 list로 감아줬어야 했는데 sotred도 정답처리가 된 걸 보면 리스트로 감기는 것 같습니다.
- 길이를 각 요소에 추가하였고 정렬할때는 알파벳순으로 먼저 정렬 후 길이 순으로 정렬을 해서 출력했습니다.
[다른 분의 코드]
n = int(input())
a = []
for _ in range(n):
word = str(input())
a.append((word, len(word)))
a = list(set(a))
# 길이정렬 > 알파벳정렬
a.sort(key= lambda x:(x[1], x[0]))
for i in a:
print(i[0])
- 미숙했던 제 코드를 좀 더 보완한 느낌? 입니다. 람다로 정렬하는 부분에서 저렇게 정렬할 수 있는 것을 확인할 수 있었습니다.
728x90
반응형
'알고리즘 > 정렬' 카테고리의 다른 글
[알고리즘] 백준2108 통계학 - 파이썬 (0) | 2021.08.21 |
---|---|
[알고리즘] 백준11651 좌표정렬하기2 - 파이썬 (0) | 2021.08.19 |
[알고리즘] 백준11650 좌표 정렬하기 - 파이썬 (0) | 2021.08.19 |
[알고리즘] 백준10814 나이순정렬 - 파이썬 (0) | 2021.08.19 |
[알고리즘] 백준18870 좌표압축 - 파이썬 (0) | 2021.08.19 |
Comments