일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift
- 공부
- UIKit
- Swift공부
- Kotlin
- 그리디 알고리즘
- 앱개발
- 정렬
- greedy algorithm
- iOS개발
- 알고리즘
- Android
- SwiftUI
- 알고리즘 공부
- 안드로이드 공부
- 백준 온라인 저지
- ios
- dfs
- BFS
- Algorithm
- Autolayout
- error
- 오토레이아웃
- 파이썬 풀이
- 프로그래머스
- Python
- 백준온라인저지
- Level 1
- 파이썬
- Clean Architecture
- Today
- Total
목록Python (8)
Tori의 개발 공부
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/k8erf/btrrhFW3uNo/8Vu7jCIYZPhJf2QK87OKy1/img.png)
문제 파이썬 풀이 from collections import deque def solution(board, moves): length = len(board) dict = {} stack = deque() answer = 0 for i in range(length) : dict[i+1] = deque() for j in range(length) : if board[j][i] == 0 : continue dict[i+1].append(board[j][i]) # 크레인 게임 시작 for number in moves : if dict[number] : # 해당 number줄에 인형이 있다면 new = dict[number].popleft() if stack and stack[-1] == new : answer ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/ziJfu/btro8w9L7Md/pPbuwz8MMizGrtZiEMq7i1/img.png)
문제 파이썬 풀이 def solution(array, commands): answer = [] for i, j, k in commands : new_arr = array[i-1 : j] new_arr.sort() answer.append(new_arr[k-1]) return answer 배열을 인덱싱을 이용하면 쉽게 풀 수 있는 문제였다. i번째는 인덱스로 i-1이고 인덱싱에서 end는 포함하지 않기 때문에 (j-1) 번째에 +1을 해줘서 j까지로 잘라낸다. 그리고 파이썬의 sort()함수를 이용해 잘라낸 배열을 정렬해주었다. 그리고 k번째(인덱스 k-1) 값을 answer배열에 추가해주었다.
![](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(..