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

날짜 : 2023. 05.10 사용 언어 : python 문제 코드 import sys from collections import deque r, c = map(int, sys.stdin.readline().split()) graph = list() for _ in range(r): graph.append(' '.join(sys.stdin.readline().rstrip()).split()) """for i in graph: print(i)""" visited = [[False] * c for _ in range(r)] res_s, res_w = 0, 0 def bfs(a, b): s, w = 0, 0 if graph[a][b] == "o": s += 1 elif graph[a][b] == "v": w ..

날짜 : 2023. 05. 09 사용 언어 : python 문제 코드 import sys n = int(sys.stdin.readline()) a = list(map(int, sys.stdin.readline().split())) # 수열 입력 up = [0] * n down = [0] * n total = [0] * n for i in range(n): # 기준 for j in range(i): # 기준값보다 작은 수 + 그 수의 인덱스의 오름차순수열 개수 최신화 if a[i] > a[j] and up[i] < up[j]: up[i] = up[j] up[i] += 1 #print(up) for i in range(n-1, -1, -1): # 기준값(역순으로 진행) for j in range(n-1, i..

날짜 : 2023. 05. 08 사용 언어 : python 문제 코드 import sys sys.setrecursionlimit(10**3) n = int(sys.stdin.readline()) graph = [[True] * n for _ in range(n)] def star(r, c, a, flag): if a == 0: return #print(r, c, a) if flag: # True -> 재귀적으로 돌림 for i in range(3): for j in range(3): if i == j == 1: star(r + i * (a // 3), c + j * (a // 3), a // 3, False) else: star(r + i * (a // 3), c + j * (a // 3), a // 3..

날짜 : 2023. 05. 08 사용 언어 : python 문제 코드 import sys n, m = map(int, sys.stdin.readline().split()) word = list() hash = dict() for _ in range(n): t = sys.stdin.readline().rstrip() # 단어 입력 if len(t) < m: continue word.append(t) # 단어 추가 word.sort() word.sort(key = len, reverse=True) #print(word) for w in word: if w not in hash: hash[w] = 1 else: hash[w] += 1 a = max(hash.values()) for i in range(a, 0..

날짜 : 2023. 05. 07 사용 언어 : python 문제 코드 import sys n = int(sys.stdin.readline()) a = list() d = dict() s = 0 for _ in range(n): t = int(sys.stdin.readline()) a.append(t) s += a[-1] a.sort() # 각 수 오름차순 정렬 for i in a: if i not in d: d[i] = 1 # 각 수의 빈도수 조사 -> 딕셔너리 else: d[i] += 1 m = max(list(d.values())) # 빈도 중에서의 max 추출 temp = list() for i in d.keys(): # value가 최대값인 key 추출 if d[i] == m: temp.appen..

날짜 : 2023. 05. 06 사용 언어 : python 문제 코드 import sys prime = [True] * 1000001 # 소수면 True, 아니면 False prime[0], prime[1] = False, False p = dict() # 소수 리스트 for i in range(2, int(1000001**0.5)+1): # 에라토스테네스의 체 if prime[i]: # 소수인 경우 p[i] = True # 소수 추가 idx = 2 while i * idx < 1000001: prime[i*idx] = False idx += 1 #print(len(prime), len(p)) t = int(sys.stdin.readline()) for _ in range(t): n = int(sys.s..

날짜 : 2023. 05. 05 사용 언어 : python 문제 코드 import sys n, k = map(int, sys.stdin.readline().split()) # 동전 종류, 가치의 합 dp = [0] * (k+1) dp[0] = 1 coin = list() for _ in range(n): coin.append(int(sys.stdin.readline())) coin.sort() # 동전 정렬 for i in range(n): # 각 동전에 대하여 체크 if i == 0: for j in range(coin[0], len(dp), coin[0]): dp[j] = 1 else: for j in range(coin[i], len(dp)): dp[j] += dp[j - coin[i]] #prin..

날짜 : 2023. 05. 04 사용 언어 : python 문제 코드 import sys from itertools import combinations n, m = map(int, sys.stdin.readline().split()) graph = list() house = list() # 집의 좌표 chicken = list() # 치킨집 좌표 for _ in range(n): graph.append(list(map(int, sys.stdin.readline().split()))) for i in range(n): # 최대 2500 for j in range(n): if graph[i][j] == 1: house.append([i, j]) elif graph[i][j] == 2: chicken.appe..