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

날짜 : 2023. 06. 25 사용 언어 : python 문제 코드 import sys def back(s, now): if len(s) == N: route.append(s) return r, c = now for i in range(4): nx = r + dx[i] ny = c + dy[i] if not visited[nx][ny]: # 겹치지 않은 경우 visited[nx][ny] = True # 방문처리 back(s + dir[i], (nx, ny)) # 재귀 visited[nx][ny] = False t = list(map(int, sys.stdin.readline().split())) N = t[0] rate = dict() # 방위별 확률 dir = ['E', 'W', 'S', 'N'] #..

날짜 : 2023. 06.13 사용 언어 : python 문제 코드 import sys def bt(s): # print(s) if len(s) == (n-1): # 길이 충족 order.append(s) return for i in range(4): if op[operator[i]] > 0: op[operator[i]] -= 1 bt(s + operator[i]) op[operator[i]] += 1 return operator = ['+', '-', '*', '/'] n = int(sys.stdin.readline()) nums = list(map(int, sys.stdin.readline().split())) # 숫자 tmp = list(map(int, sys.stdin.readline().spli..

날짜 : 2023. 05. 22 사용 언어 : python 문제 코드 import sys n, m = map(int, sys.stdin.readline().split()) dna = list() res = "" dist = 0 for _ in range(n): t = sys.stdin.readline().rstrip() # dna 입력 dna.append(t) for i in range(m): check = dict() for s in dna: if s[i] not in check: check[s[i]] = 0 check[s[i]] += 1 v = max(check.values()) # 각 인덱스의 가장 많이 나온 숫자 확보 t = list(check.keys()) t.sort() for j in t: ..

날짜 : 2023. 05. 21 사용 언어 : python 문제 코드 import sys def check(s, idx): # 숫자, 체크할 인덱스 # print(s) if idx == k: global max_val global min_val max_val = max(max_val, int(s)) min_val = min(min_val, int(s)) else: for i in range(10): if str(i) in s: # 이미 숫자가 있는 경우 continue # 패스 else: if comp[idx] == '>' and int(s[-1]) > i: check(s + str(i), idx+1) elif comp[idx] == '

날짜 : 2023. 05. 20 사용 언어 : python 문제 코드 import sys def dfs(s, idx): if len(s) == L: # 암호문 가능한 경우 cnt = 0 # 모음의 개수 for i in s: if i in gat: cnt += 1 if cnt > 0 and (L-cnt) > 1: print(s) for i in range(idx, C): dfs(s + a[i], i+1) return L, C = map(int, sys.stdin.readline().split()) # 암호문 길이, 알파벳 개수 a = ' '.join(sys.stdin.readline().rstrip()).split() gat = dict() a.sort() for i in a: if i in ['a', '..

날짜 : 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..

날짜 : 2023. 04. 26 사용 언어 : python 문제 코드 import sys sys.setrecursionlimit(10**6) n = int(sys.stdin.readline()) if n == 0: print(0) exit() a = list() def dfs(num): #print(num) a.append(int(num)) for i in range(int(num[-1])-1, -1, -1): t = int(num + str(i)) dfs(str(t)) # 내림수 생성 return for i in range(9, 0, -1): dfs(str(i)) if len(a) < n: print(-1) else: a.sort() #print(a) print(a[n-1]) 풀이 - 재귀함수를 사용해..

날짜 : 2023. 04. 25 사용 언어 : python 문제 코드 import sys t = int(sys.stdin.readline()) # 테스트케이스 tri = list() # 삼각수 저장 리스트 res = [False] * 1001 # 결과값 저장 리스트 for i in range(1, 40): a = int(i * (i-1) // 2) # 삼각수 저장 tri.append(a) for a in range(1, len(tri)): for b in range(a, len(tri)): for c in range(b, len(tri)): if (tri[a]+tri[b]+tri[c]) in range(1001): res[tri[a]+tri[b]+tri[c]] = True # 삼각수 가능한 케이스 #pr..