일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 시뮬레이션
- 그래프 탐색
- GROUP BY
- 투포인터
- 그리디
- DP
- DFS
- BFS
- 다익스트라
- 플로이드-워셜
- 백트래킹
- 브루트포스
- 다이나믹 프로그래밍
- 트리
- 자료구조
- 누적합
- 구현
- 다이나믹프로그래밍
- 분할정복
- 우선순위큐
- 재귀
- 수학
- 서브쿼리
- 크루스칼
- join
- MST
- 해시
- 그래프 이론
- 에라토스테네스의 체
- 다시
- Today
- Total
목록전체 글 (373)
기록하고 까먹지 말기

날짜 : 2023. 06. 11 사용 언어 : python 문제 코드 import sys n = int(sys.stdin.readline()) con = [] for _ in range(n): con.append(list(map(int, sys.stdin.readline().split()))) # 입력 dp = [0] * (n + 1) for i in range(n-1, -1, -1): # 역순으로 진행 dp[i] = dp[i + 1] # 값 미리 받아옴 if con[i][0] + i > n: continue # 일자 초과 if dp[i + 1] < dp[i + con[i][0]] + con[i][1]: # 해당 날짜 상담 했을 때와 안했을 때 비교 dp[i] = dp[i + con[i][0]] + co..

날짜 : 2023. 06. 09 사용 언어 : python 문제 코드 import sys n = int(sys.stdin.readline()) line = list() for _ in range(n): a, b = map(int, sys.stdin.readline().split()) # 전깃줄 입력 line.append([a, b]) line.sort() # a 기준으로 정렬 # print(line) dp = [1] * n for i in range(1, n): for j in range(i): if line[i][1] > line[j][1] and dp[i] b2인 경우에 발생한다. - 그렇기 때문에 반대로 전깃줄들을 a에 대하여 오름차순으로 정렬한 후, b에 대하여 메모이제이션을 실행한다. - 즉, ..
백준 1. 가장 긴 감소하는 부분수열 https://www.acmicpc.net/problem/11722 11722번: 가장 긴 감소하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10} www.acmicpc.net 2. 가장 긴 바이토닉 부분수열 https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1..

날짜 : 2023. 06. 07 사용 언어 : python 문제 코드 # 레버 위치 찾기 -> 레버까지의 거리 구하기(BFS) -> 레버에서 출구까지 거리 구하기(BFS) from collections import deque def solution(maps): m = len(maps) n = len(maps[0]) i, j = 0, 0 flag = False for i in range(m): for j in range(n): if maps[i][j] == "S": r, c = i, j break queue = deque() queue.append([r, c]) visited = [[-1] * n for _ in range(m)] visited[r][c] = 0 dx = [0, 0, 1, -1] dy = ..

날짜 : 2023. 06. 01 사용 언어 : python 문제 코드 import sys n = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) ans = [-1] * n stack = list() stack.append(0) i = 1 while i a[stack[j]]: # 스택의 마지막 원소값을 인덱스로 갖는 수가 현재 값보다 작음 -> 오큰수 ans[stack[j]] = now # stack.pop() else: break stack.append(i) # 현재 인덱스 추가 i += 1 a..
1. 왓챠피디아 api를 가져와 영화를 추천하는 서비스 2. 카카오톡 챗봇 -> 예티봇 카피해보기
1. SELECT * 우선 작성 후 조건 다 만든 후 수정(디버깅 목적) 2. JOIN문이 있는 경우 JOIN을 사용해야 하는지, 서브쿼리로 해결이 가능한지 판단 3. 서브쿼리로 가능한 경우 WHERE PK IN (SELECT PK ...)으로 해결 4. JOIN을 했을 때에는 속성이 모호해지지 않게 명명 확실히 5. 조건에 맞게 출력값을 다르게 해야 하는 경우 CASE WHEN 사용 ex) AGE 속성에서 25살, 30살을 '젊은이'라고 출력, 나머지는 '응애'라고 출력, 속성 이름은 '분류'로 출력 -> SELECT CASE WHEN AGE = 25 THEN '젊은이' WHEN AGE = 35 THEN '젊은이' ELSE '응애' END AS '분류' * CASE 사용시 괄호 사용하지 않도록 주의(문..

날짜 : 2023. 05. 30 사용 언어 : python 문제 코드 from collections import deque def solution(rectangle, a, b, itemX, itemY): graph = [[-1] * 102 for _ in range(102)] for r in rectangle: x1, y1, x2, y2 = r x1 *= 2 # 2배처리 y1 *= 2 x2 *= 2 y2 *= 2 for i in range(x1, x2 + 1): for j in range(y1, y2 + 1): if x1 < i < x2 and y1 < j < y2: # 테두리 채우기 graph[i][j] = -2 # 내부 elif graph[i][j] != -2: # 테두리 graph[i][j] = 0..