Skip to content

Commit 96aac33

Browse files
authored
Merge pull request #87 from learntosurf/main
Learntosurf / 11์›” 3์ฃผ์ฐจ / 3๋ฌธ์ œ
2 parents b808d6d + c4a1096 commit 96aac33

6 files changed

+100
-1
lines changed

โ€Ž.gitignoreโ€Ž

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
.cph/
2+
.DS_Store
3+
.DS_Store

โ€Žlearntosurf/.DS_Storeโ€Ž

-6 KB
Binary file not shown.

โ€Žlearntosurf/BruteForce/.cph/.2024-11-07-[BOJ]-#14717-์•‰์•˜๋‹ค.py_0bd4b78fdcfce942f4b0309901ad2256.probโ€Ž

Lines changed: 0 additions & 1 deletion
This file was deleted.
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
import sys
2+
input = sys.stdin.readline
3+
4+
money = int(input())
5+
machineduck = list(map(int, input().split()))
6+
7+
# ์ค€ํ˜„
8+
j_stock = 0
9+
j_money = money
10+
11+
for i in machineduck:
12+
if j_money >= i:
13+
j_stock += j_money // i
14+
j_money %= i
15+
16+
# ์„ฑ๋ฏผ
17+
s_stock = 0
18+
s_money = money
19+
20+
for i in range(3, len(machineduck)):
21+
if (machineduck[i-3] > machineduck[i-2]) and (machineduck[i-2] > machineduck[i-1]) and (machineduck[i-1] > machineduck[i]):
22+
if s_money >= machineduck[i]:
23+
s_stock += s_money // machineduck[i]
24+
s_money %= machineduck[i]
25+
26+
elif (machineduck[i-3]<machineduck[i-2]) and (machineduck[i-2]<machineduck[i-1]) and (machineduck[i-1]<machineduck[i]):
27+
if s_stock > 0:
28+
s_money += s_stock * machineduck[i]
29+
s_stock = 0
30+
31+
j_result = j_money + j_stock * machineduck[-1]
32+
s_result = s_money + s_stock * machineduck[-1]
33+
34+
if j_result > s_result:
35+
print("BNP")
36+
elif j_result < s_result:
37+
print("TIMING")
38+
else:
39+
print("SAMESAME")
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
import sys
2+
input = sys.stdin.readline
3+
4+
board = [list(map(int, input().split())) for _ in range(5)]
5+
num = [int(x) for _ in range(5) for x in input().split()]
6+
7+
visited = [[False] * 5 for _ in range(5)]
8+
bingo = 0
9+
10+
def update_visited(num, board, visited):
11+
for row in range(5):
12+
for col in range(5):
13+
if board[row][col] == num:
14+
visited[row][col] = True
15+
16+
def check_bingo(visited):
17+
bingo = 0
18+
19+
# ๊ฐ€๋กœ์ค„ ๊ฒ€์‚ฌ
20+
for row in range(5):
21+
if all(visited[row][col] for col in range(5)):
22+
bingo += 1
23+
24+
# ์„ธ๋กœ์ค„ ๊ฒ€์‚ฌ
25+
for col in range(5):
26+
if all(visited[row][col] for row in range(5)):
27+
bingo += 1
28+
29+
# ๋Œ€๊ฐ์„  ๊ฒ€์‚ฌ
30+
if all(visited[i][i] for i in range(5)):
31+
bingo += 1
32+
if all(visited[i][4-i] for i in range(5)):
33+
bingo += 1
34+
35+
return bingo
36+
37+
38+
for idx, i in enumerate(num, start=1):
39+
update_visited(i, board, visited)
40+
if check_bingo(visited) >= 3:
41+
print(idx)
42+
break
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
N = int(input())
2+
schedule = [tuple(map(int, input().split())) for _ in range(N)]
3+
dp = [0] * (N + 1)
4+
5+
# ๋’ค์—์„œ๋ถ€ํ„ฐ dp ํ…Œ์ด๋ธ” ์ฑ„์šฐ๊ธฐ
6+
for i in range(N - 1, -1, -1):
7+
time, pay = schedule[i]
8+
9+
# ์ƒ๋‹ด์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ
10+
if i + time <= N:
11+
dp[i] = max(dp[i + 1], pay + dp[i + time])
12+
else:
13+
# ์ƒ๋‹ด์ด ํ‡ด์‚ฌ ์ดํ›„๊นŒ์ง€ ๊ฑธ๋ ค์„œ ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ
14+
dp[i] = dp[i + 1]
15+
16+
print(dp[0])

0 commit comments

Comments
ย (0)