일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- SQL
- 명품자바
- 백준 15787번
- java_programming
- 머신러닝과 딥러닝
- 백준 1253번
- HUFS 모각코 캠프
- 백준 1331번
- 알고리즘
- javascript
- SWEA 15612번
- 다이나믹프로그래밍
- 다이나믹 프로그래밍
- react
- 백준 1987
- 자바
- ubuntu
- AWS
- 모각코
- MySQL
- 그래프
- 그리디
- 백준 2512번
- 백준 18310번
- 백준 17451번
- 백준 3085번
- Python
- 깃헙
- 백준 16918번
- 백준
- Today
- Total
목록CS/Algorithm (90)
차곡차곡
백준 #3085 사탕 게임 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) # 보드 크기 candy = [list(input().strip()) for _ in range(n)] def cal_row(i, j): color = candy[i][j] cnt = 1 change = False for k in range(j+1, n): if color == candy[i][k]: cnt += 1 else: if not change: if 0
백준 #2644 촌수계산 2644번: 촌수계산 사람들은 1, 2, 3, …, n (1 ≤ n ≤ 100)의 연속된 번호로 각각 표시된다. 입력 파일의 첫째 줄에는 전체 사람의 수 n이 주어지고, 둘째 줄에는 촌수를 계산해야 하는 서로 다른 두 사람의 번호가 주어 www.acmicpc.net from collections import deque import sys input = sys.stdin.readline def bfs(): q = deque() q.append(p1) while(q): u = q.popleft() if u == p2: return visited[p2] for w in family[u]: if visited[w] == 0: if w == p1: continue visited[w] = ..
백준 #15486 퇴사2 15486번: 퇴사 2 첫째 줄에 N (1 ≤ N ≤ 1,500,000)이 주어진다. 둘째 줄부터 N개의 줄에 Ti와 Pi가 공백으로 구분되어서 주어지며, 1일부터 N일까지 순서대로 주어진다. (1 ≤ Ti ≤ 50, 1 ≤ Pi ≤ 1,000) www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) time = [] pay = [] for _ in range(n): t, p = map(int, input().split()) time.append(t) pay.append(p) profit = [0 for _ in range(n+1)] for i in range(n-1, -1, -1): if i == n-1 a..
백준 #11060 점프 점프 11060번: 점프 점프 재환이가 1×N 크기의 미로에 갇혀있다. 미로는 1×1 크기의 칸으로 이루어져 있고, 각 칸에는 정수가 하나 쓰여 있다. i번째 칸에 쓰여 있는 수를 Ai라고 했을 때, 재환이는 Ai이하만큼 오른쪽으로 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) maze = list(map(int, input().split())) dp = [sys.maxsize for _ in range(n)] dp[0] = 0 for i in range(n): for j in range(1, maze[i]+1): if i + j < n: dp[i+j] = min(dp[i+j], dp[i] + 1) i..
백준 #1652 누울 자리를 찾아라 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net # 입력 N = int(input()) room = [] for i in range(N): room.append(input()) # 가로로 누울 자리 수 width = 0 for i in range(N): space = 0 # 누울 자리 공간 for j in range(N): if room[i][j] == ".": space += 1 if space == 2: width += 1 else: space = 0 conti..
백준 #2156 포도주 시식 2156번: 포도주 시식 효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) # 포도잔 개수 wine = list(int(input()) for _ in range(n)) max_wine = [0 for _ in range(n)] for i in range(n): if i == 0: max_wine[i] = wine[i] elif i == 1: max_wine[i] = max_wine[i-1] + wine[i] e..
백준 #2579 계단 오르기 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net import sys input = sys.stdin.readline n = int(input()) # 계단 개수 stair = list(int(input()) for _ in range(n)) point = [0 for _ in range(n)] # 점수 저장 cnt = 0 # 연속해서 계단 오르는 횟수 for i in range(n): if i == 0: point[i] = stair[i] elif i == 1: point[i] = point[..
백준 #5566 주사위 게임 5566번: 주사위 게임 상근이는 혼자 보드 게임을 하고 있다. 이 보드 게임의 보드는 N칸으로 이루어져 있고, 출발점은 1칸, 도착점은 N칸이다. 각 칸에는 지시 사항이 적혀있다. 지시 사항은 말을 얼만큼 이동해야 하 www.acmicpc.net import sys input = sys.stdin.readline n, m = map(int, input().split()) # m: 주사위 던진 횟수 bord = [int(input()) for _ in range(n)] # 보드 각 칸의 지시 사항 dice = [int(input()) for _ in range(m)] # 던져서 나온 주사위 번호 now = 0 # 현재 위치 index cnt = 0 # 주사위 던진 횟수 for..