일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- iOS개발
- 알고리즘
- 오토레이아웃
- 알고리즘 공부
- Swift공부
- BFS
- dfs
- 정렬
- 파이썬
- Level 1
- ios
- 안드로이드 공부
- error
- UIKit
- 백준 온라인 저지
- Python
- Android
- 앱개발
- 파이썬 풀이
- Kotlin
- Algorithm
- swift
- 프로그래머스
- 그리디 알고리즘
- Clean Architecture
- 공부
- Autolayout
- SwiftUI
- 백준온라인저지
- greedy algorithm
- Today
- Total
목록정렬 (4)
Tori의 개발 공부
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/5TwVf/btrevPwW1zt/xiK1lKmvwW2QPV9vHMMxLK/img.png)
문제 파이썬 풀이 보통 통계값을 파이썬으로 구할 때에는 numpy 라이브러리를 사용했었다. 그러나 알고리즘 풀이에서 numpy 라이브러리를 사용할 수 없다고 해 사용하지 않고 통계값을 구해보았다. import sys input = sys.stdin.readline from collections import Counter n= int(input().rstrip()) l = [int(input().rstrip()) for _ in range(n)] avg = round(sum(l)/n) l.sort() middle = l[n//2] rang = l[-1] - l[0] c = Counter(l) result = c.most_common(2) if len(result) == 2 and result[0][1] =..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/tKiiJ/btrdU6tCngo/mYDaHBnKiZEYbc81Xq8gJ1/img.png)
문제 파이썬 풀이 가입한 순서를 기록하기 위해 인덱스와 같이 저장하고, sort함수의 key인자를 첫 번째 정렬 기준을 나이로, 다음 정렬 기준을 인덱스로 지정해주면 해결될 것 같다. import sys input = sys.stdin.readline n= int(input().rstrip()) members=[] for index in range(n): age,name = input().rstrip().split() members.append((index, age, name)) members.sort(key=lambda member : (int(member[1]),member[0])) for member in members : print(member[1],member[2]) 여기서 포인트는 나이를 in..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/5oLnE/btrdKVeivfy/nsxg94GYXtQzgcunqWJqK0/img.png)
문제 파이썬 풀이 11650번 문제의 정렬 기준이 y먼저로 바뀐 문제이다. #11650번과 정렬 기준 x,y반대로 import sys input = sys.stdin.readline n= int(input().rstrip()) v = [] for i in range(n) : x, y = map(int, input().rstrip().split()) v.append((x,y)) v.sort(key=lambda x:(x[1],x[0])) for x,y in v : print(x,y) [python]11650-좌표 정렬하기 11650번 문제에서 공부했듯 sort함수에 key를 부여하여 정렬 기준을 바꾸어줬다.
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/lrcqR/btrdImCERtr/qjLwzhcq8kUMKXu8QwPR70/img.png)
문제 파이썬 풀이 튜플로 2차원 좌표를 입력받아 리스트 안에 저장한 후, x좌표를 기준으로 오름차순 정렬하는 문제이다. (x좌표가 같을 시 y좌표 비교) import sys input = sys.stdin.readline n= int(input().rstrip()) v = [] for i in range(n) : x, y = map(int, input().rstrip().split()) v.append((x,y)) v.sort() for x,y in v : print(x,y) 시간 복잡도 개선을 위해 input대신 sys.stdin.readline을 사용하였다. 단, readline으로 입력을 받으면 끝에 개행 문자를 가져온다 하여 rstrip을 통해 제거하여주었다. 입력받기 for i in range(..