일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SwiftUI
- Algorithm
- 백준 온라인 저지
- Til
- dfs
- ios
- 백준온라인저지
- 파이썬 풀이
- UIKit
- 공부
- Kotlin
- Swift공부
- greedy algorithm
- BFS
- iOS개발
- error
- 정렬
- Clean Architecture
- 오토레이아웃
- Autolayout
- 프로그래머스
- 안드로이드 공부
- Python
- 알고리즘 공부
- 그리디 알고리즘
- 알고리즘
- Android
- swift
- 파이썬
- 앱개발
- Today
- Total
목록Algorithm (33)
Tori의 개발 공부

문제 파이썬 풀이 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배열에 추가해주었다.

문제 파이썬 풀이 import re def solution(new_id): new_id = new_id.lower() #1단계 #2단계 new_id = re.sub('[=+,#/\?:^$@*※~&%!\(\)\[\]\\{\}]', '', new_id) #3단계 new_id = re.sub('[.]\.+','.',new_id) #4단계 new_id = new_id.strip('.') #5단계 if not new_id : new_id = "a" #6단계 if len(new_id) > 15 : new_id = new_id[0:15] if new_id[-1] == "." : new_id = new_id[:-1] #7단계 while len(new_id) < 3 : new_id += new_id[-1] answer ..

문제 파이썬 풀이 트리를 그래프를 저장하듯 리스트 형태로 저장하고, 부모 노드를 저장하는 리스트를 생성하는 것이 포인트였다. 부모 노드를 저장하는 리스트는 리스트의 인덱스가 해당 노드가 되고 저장된 값은 부모 노드가 된다. 예를 들어보면 2와 연결되어있는 노드 들은 2의 부모 노드와 자식 노드로 나뉜다. 이때 부모 노드를 저장하는 리스트에서 2의 부모 노드가 무엇인지 가져와 2와 인접한 노드들 중 부모 노드를 제외한다. 그럼 나머지는 전부 2의 자식노드가 된다. 이제 자식 노드로 구별된 노드들의 부모 노드를 2로 저장한다. 이와 같은 과정을 모든 노드들에 접근하면서 부모 노드를 저장한다. 모든 노드들을 접근하는 과정에서는 dfs나 bfs를 이용하여 전체 탐색한다. 나는 dfs를 통해 구현하였다. from..

문제 파이썬 풀이 나이트의 이동을 좌표로 나타내면 다음과 같다. 따라서 이동 좌표들을 위와 같이 설정한 후 이동 반복문을 8번 반복하여 이동을 해준다. 그리고 이동할 때마다 이전 값에 +1한 값을 저장해준다. 그리고 목적지 좌표가 나오면 그 값에서 -1한 값을 리턴해준다(1부터 시작했으므로) 이동 좌표를 빼고는 이전 bfs들과 동일하다. from collections import deque import sys input = sys.stdin.readline t = int(input().rstrip()) def bfs() : dx = [-1, 1, 2, 2, 1, -1, -2, -2] dy = [2, 2, 1, -1, -2, -2, -1, 1] q = deque() q.append((startX, star..