| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 오블완
- 안드로이드
- 플러터
- 99클럽
- 개발자취업
- flutter getx
- Laravel
- 항해99
- til
- C++
- Flutter
- 파이썬
- 코딩테스트 준비
- 코딩테스트준비
- 파이썬 코테
- vue
- 코테
- 개발자 취업
- c++ 코테
- 라라벨
- react
- DP
- 티스토리챌린지
- Python
- 코테 파이썬
- ML
- 백준
- 뷰
- 알고리즘
- 코딩테스트
- Today
- Total
목록Python (19)
잡다로그
1926 그림 문제 및 조건 설명: https://www.acmicpc.net/problem/1926 알고리즘 설계 하나의 경로를 끝까지 파는 경우(dfs)가 아니라, 연결된 공간의 너비를 구하는 경우(bfs)이므로 BFS 알고리즘을 사용해 그림을 탐색한다. 그림이 몇 개인지, 가장 넓은 그림이 무엇인지를 출력해야 한다. 그림의 너비를 판단하기 위해 시작 좌표에서부터 BFS를 실행하고, 탐색하는 과정에서 접근 가능한 좌표 당 너비 변수 1을 증가시킨다. 그림의 갯수를 판단하기 위해 전체 공간의 좌표 중, 방문하지 않은 경우 BFS를 실행하도록 한다. 그림의 최대 너비를 판단하기 위해 그림 너비를 구할 때마다 최대값과 비교해준다. 정답 코드 from collections import deque n, m =..
10866 덱 문제 및 조건 설명: https://www.acmicpc.net/problem/10866 import sys n = int(sys.stdin.readline()) deque = [0] * (2*n+1) head = n tail = n for _ in range(n): command = sys.stdin.readline().split() if command[0] == "push_front": deque[head-1] = int(command[1]) head -= 1 elif command[0] == "push_back": deque[tail] = int(command[1]) tail += 1 elif command[0] == "pop_front": if head == tail: print(-..
10828 스택 문제 및 조건 설명: https://www.acmicpc.net/problem/10828 import sys n = int(sys.stdin.readline()) stack = [] for i in range(n): command = sys.stdin.readline().split() if (command[0] == "push"): stack.append(int(command[1])) # pos += 1 elif (command[0] == "pop"): if (len(stack) != 0): print(stack.pop()) else: print(-1) elif (command[0] == "top"): if (len(stack) != 0): print(stack[-1]) else: pri..
이진 탐색 (Binary Search) 정렬된 리스트에서 탐색 범위를 절반씩 좁혀가며 데이터를 탐색하는 방법. 탐색 범위를 지정해주어야 한다. 이진 탐색은 배열 내부의 데이터가 정렬되어 있어야만 사용할 수 있는 알고리즘이다. 리스트에서 원소 검색할 때 보통 순차 탐색을 한다. 시간 복잡도: 단계 마다 탐색 범위를 2로 나누는 것과 동일 → $log_2N$에 비례 즉 시간 복잡도는 $O(logN)$을 보장 코드 구현 1) 재귀적 구현 def binary_search(array, target, start, end): if start > end: return None# 탐색하려는 범위에 데이터가 없는 것이나 마찬가지 mid = (start+end) // 2 if array[mid] == target: retu..