일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 다이나믹 프로그래밍
- 알고리즘
- AWS
- 그래프
- 깃헙
- 백준 15787번
- SWEA 15612번
- 백준 1987
- java_programming
- 백준 17451번
- 모각코
- 그리디
- MySQL
- 백준 1331번
- 백준 2512번
- 백준 18310번
- HUFS 모각코 캠프
- SQL
- javascript
- 머신러닝과 딥러닝
- 명품자바
- 백준 1253번
- 백준
- ubuntu
- react
- 백준 3085번
- 다이나믹프로그래밍
- 백준 16918번
- Python
- 자바
- Today
- Total
목록전체 (238)
차곡차곡
https://amor-fati.tistory.com/41 [모각코] 210804 Today I Learned 1987번: 알파벳 (acmicpc.net) 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 amor-fati.tistory.com 지난 주에 visited 리스트가 재귀함수를 빠져나와도 변경된 값이 계속 유지되어서 문제가 된다고 했었는데, 그냥 copy가 아닌 copy.deepcopy() 함수만 쓰면 됐다. 예전에 쓴 적 있는데 까먹고 있었다. 바보 ㅎㅋ 그런데 코드를 고치고 생각해보니 visited 리스트 자체가 필요 없었다. 이번 문제는 이전에 지나간 곳..
2178번: 미로 탐색 (acmicpc.net) 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 지난 문제(https://amor-fati.tistory.com/41)는 아직 해결하지 못 했다 ..... 그래서 dfs, bfs 알고리즘을 떠올릴겸 기본적인 미로 탐색 문제를 다시 풀어봤다. 풀면서 생각해보니 깊이 우선 탐색이 아니라 너비 우선 탐색으로 풀어야 했나 싶다. 그거 다 고치고 올리면 또 늦어질 것 같아서 일단 먼저 올린다. ㅜ 먼저 한 행씩 문자열로 입력 받은 것을 한 글자씩 읽으며 L 리스트에 저장해주고, 그 L 리스트를 maze..
1987번: 알파벳 (acmicpc.net) 1987번: 알파벳 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으 www.acmicpc.net 또 너무 늦어질 것 같아서 먼저 올리는 완성 안 된 코드 ㅜ import copy global max_count max_count = 0 # DFS class Node: def __init__(self, bord): self.value = bord[0][0] self.row = 0 self.col = 0 def Move(bord, visited, p, R, C, count, before): before.appe..
210728 못 풀었던 문제 (타입 에러) https://amor-fati.tistory.com/39 [모각코] 210728 Today I Learned 2193번: 이친수 (acmicpc.net) 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 amor-fati.tistory.com N = int(input()) pinary = [0 for i in range(N)] for i in range(N): if i == 0: pinary[i] = (0, 1) elif i == 1: pinary[i] = (1, 0) # (0으로 끝나는 문자열 개수, 1로 끝나는 문자열 ..
2193번: 이친수 (acmicpc.net) 2193번: 이친수 0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않 www.acmicpc.net N = int(input()) pinary = [0 for i in range(N)] for i in range(1, N): if i == 1: pinary[i] = (1, 0) # (0으로 끝나는 문자열 개수, 1로 끝나는 문자열 개수) else: pinary[i] = (pinary[i-1][0] + pinary[i-1][1], pinary[i-1][0]) print(int(pinary[-1][0]) + ..
1463번: 1로 만들기 (acmicpc.net) 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net x = int(input()) dp = [0 for i in range(x+1)] for i in range(2, x+1): if i ==2 or i ==3: # 초기화 dp[i] = 1 else: dp[i] = dp[i-1] + 1 if i % 3 == 0: dp[i] = min(dp[i], dp[int(i/3)] + 1) if i % 2 == 0: dp[i] = min(dp[i], dp[int(i/2)] + 1) print(dp[-1]) 정수 N이 주어졌을 때, 연산 세 개를 사용해서 1을 만드는 문제인데, 나는 반대로 1..
백준 #14501 퇴사 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net 수요일 모각코 때 못 풀었던 문제 !! 드디어 풀었다 !! N = int(input()) # 퇴사일 T = [] # 상담을 완료하는데 걸리는 기간 P = [] # 상담을 했을 때 받을 수 있는 금액 for i in range(N): t, p = map(int, input().split()) T.append(t) P.append(p) profit = [0 for i in range(N+1)] # 최대 이익 for i in range(N-1, -1, -1): if i == N-1 and i+T[i] == N: # 마지막 날 상담 기간이 1일이어서 상담이 가능한 경우 profit[i..
문제 다 풀고 올리려고 했는데 그러면 너무 늦어질 거 같아서 결국 그냥 올린다 ,, 주륵 백준 #1202 보석 도둑 1202번: 보석 도둑 (acmicpc.net) 1202번: 보석 도둑 첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000) 다음 N개 줄에는 각 보석의 정보 Mi와 Vi가 주어진다. (0 ≤ Mi, Vi ≤ 1,000,000) 다음 K개 줄에는 가방에 담을 수 있는 최대 무게 Ci가 주어진다. (1 ≤ Ci www.acmicpc.net 이번에도 해결 못 했다 ㅜ.. 도저히 모르겠어서 검색해서 풀이를 몇 개 봤는데 봐도 이해가 안 된다 ㅜㅜ 차근차근 다시 생각해봐야 될 거 같다 14501번: 퇴사 (acmicpc.net) 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는..