Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 파이썬 3
- 정렬
- 다이나믹프로그래밍
- 최단경로
- 알고리즘스터디
- python3
- 다시보기
- 백트랙킹
- 이진탐색
- ODQA
- Level2_PStage
- Level2
- 단계별문제풀이
- 개인회고
- dp
- mrc
- 부스트캠프_AITech_3기
- 백준
- dfs
- Level1
- 그래프이론
- U_stage
- 부스트캠프_AITech3기
- 알고리즘_스터디
- 그리디
- 기술면접
- 이코테
- 주간회고
- 구현
- 프로그래머스
Archives
- Today
- Total
국문과 유목민
11. 문자열 내 마음대로 정렬하기 본문
0. 문제
링크) https://programmers.co.kr/learn/courses/30/lessons/12915
1. 알고리즘 계획
- 처음 들어오는 값을 정렬해준다.
- '삽입정렬'을 이용해서 배열을 한다.
2. 나의 코드
def solution2(strs, n):
strs.sort()
for i in range(1, len(strs)):
j = i-1
while (j >= 0 and strs[j][n] > strs[i][n]): # strs[j]가 더 낮으면 while문 아웃
j -= 1
strs.insert(j+1, strs[i])
del strs[i+1]
return strs
3. 다른 사람의 코드
def solution(strings, n):
return sorted(sorted(strings), key=lambda x: x[n])
- sorted함수를 사용한 풀이
- sorted함수는 뒤에 key = lambda를 이용해서 정렬할 수 있다.
from operator import itemgetter
def solution2(strings, n):
return sorted(sorted(strings), key=itemgetter(n))
- Itemgetter: Item의 배열 n번째를 기준으로 정렬함을 의미한다.
- 위의 코드와 유사하다. 함수를 lambda로 주느냐, itemgetter함수를 이용하느냐에 차이
4. 정리 및 리뷰
- 알고리즘에서 배웠던 정렬방법을 사용해서 풀어보고자 해서, '삽입정렬'을 이용해 풀었다.
- 하지만 파이썬의 경우 간결함이 가장 큰 장점이라고 생각한다. 그런 의미에서 위의 sorted함수의 사용 방법을 알았다면 어렵지 않게 풀 수 있었을 것 같다.
코드 만족도: ★★★☆☆
'알고리즘_코딩테스트 > 프로그래머스_Level1' 카테고리의 다른 글
13. 문자열 내림차순으로 배치하기 (0) | 2020.09.10 |
---|---|
12. 문자열 내 p와 y의 개수 (0) | 2020.09.10 |
10. 두 정수 사이의 합 (0) | 2020.09.09 |
9. 나누어 떨어지는 숫자 배열 (0) | 2020.09.09 |
8. 같은 숫자는 싫어 (0) | 2020.09.09 |
Comments