Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
{"name":"Local: ๋ฆฌ๋ชจ์ปจ","url":"d:\\AlgoLeadME-15\\AlgoLeadMe-15\\Seol-Munhyeok\\๋ฆฌ๋ชจ์ปจ.py","tests":[{"id":1754987353256,"input":"14124\n0","output":"5"},{"id":1754988380935,"input":"5457\n3\n6 7 8","output":"6"},{"id":1754988677269,"input":"100\n5\n0 1 2 3 4","output":"0"},{"id":1754988684813,"input":"500000\n8\n0 2 3 4 6 7 8 9","output":"11117"},{"id":1754988691940,"input":"100\n3\n1 0 5","output":"0"},{"id":1754988697420,"input":"14124\n0","output":"5"},{"id":1754988702699,"input":"1\n9\n1 2 3 4 5 6 7 8 9","output":"2"},{"id":1754988714138,"input":"80000\n2\n8 9","output":"2228"},{"id":1754988820882,"input":"889\n9\n0 2 3 4 5 6 7 8 9","output":"226"},{"id":1754989157813,"input":"444445\n8\n0 2 3 4 5 7 8 9","output":"166672"},{"id":1754989169307,"input":"500000\n8\n0 1 2 4 6 7 8 9","output":"33339"},{"id":1754989180067,"input":"99\n2\n8 9","output":"1"},{"id":1754989184555,"input":"102\n2\n0 2","output":"2"},{"id":1754989195898,"input":"9999\n0","output":"4"},{"id":1754989201025,"input":"0\n1\n0","output":"2"},{"id":1754989315623,"input":"1000\n1\n1","output":"4"},{"id":1754989417270,"input":"1\n3\n1 2 3","output":"2"},{"id":1754989429332,"input":"9\n2\n8 9","output":"3"},{"id":1754989435271,"input":"0\n0","output":"1"},{"id":1754989491519,"input":"1000\n1\n1","output":"4"},{"id":1754989501294,"input":"123456\n6\n1 2 3 4 5 6","output":"23462"},{"id":1754989509455,"input":"59\n2\n5 9","output":"3"},{"id":1754989519933,"input":"5678\n7\n2 3 4 5 6 7 8","output":"3326"},{"id":1754989526126,"input":"1987\n3\n7 8 9","output":"17"},{"id":1754989540812,"input":"44\n6\n4 5 6 7 8 9","output":"13"},{"id":1754989549595,"input":"999\n1\n9","output":"5"},{"id":1754989558427,"input":"189898\n6\n3 5 6 7 8 9","output":"10108"},{"id":1754989585649,"input":"1000\n2\n0 1","output":"4"},{"id":1754989596879,"input":"5\n9\n1 2 3 4 5 6 7 8 9","output":"6"},{"id":1754989606046,"input":"11\n9\n1 2 3 4 5 6 7 8 9","output":"12"},{"id":1754989613405,"input":"833\n4\n3 7 8 9","output":"170"},{"id":1754989621981,"input":"9\n1\n9","output":"2"},{"id":1754989674336,"input":"1555\n3\n0 1 9","output":"670"},{"id":1754989684408,"input":"99933\n2\n3 9","output":"73"},{"id":1754989814035,"input":"1\n9\n0 1 2 3 4 5 6 7 8","output":"9"},{"id":1754989833658,"input":"500000\n9\n1 2 3 4 5 6 7 8 9","output":"499900"},{"id":1754990071949,"input":"99\n0","output":"1"},{"id":1754990079541,"input":"101\n0","output":"1"},{"id":1754990158734,"input":"104\n1\n4","output":"4"},{"id":1754990209041,"input":"500000\n1\n0","output":"7"},{"id":1754990336183,"input":"1\n9\n0 1 2 3 4 5 6 7 8","output":"9"},{"id":1754990398465,"input":"140200\n3\n4 5 6","output":"207"},{"id":1754990636701,"input":"103\n5\n2 3 5 7 8","output":"3"},{"id":1754990644548,"input":"217\n7\n0 1 2 4 5 7 8","output":"117"},{"id":1754990660362,"input":"500000\n0","output":"6"},{"id":1754990707982,"input":"1022\n5\n1 2 3 4 5 ","output":"26"},{"id":1754990718062,"input":"499998\n3\n4 8 9 ","output":"8"},{"id":1754990727461,"input":"1698\n2\n6 9","output":"6"},{"id":1754990733796,"input":"30002\n3\n1 3 4","output":"8"},{"id":1754990775185,"input":"991\n1\n1","output":"4"},{"id":1754990785327,"input":"30002\n3\n1 3 4","output":"8"},{"id":1754990794984,"input":"101\n9\n0 1 2 3 4 5 6 7 8 ","output":"1"},{"id":1754990802671,"input":"394344\n3\n1 2 3","output":"5662"},{"id":1754990826429,"input":"100\n10\n0 1 2 3 4 5 6 7 8 9 \n0","output":"0"},{"id":1754990861826,"input":"1\n9\n0 1 2 3 4 5 6 7 8 ","output":"9"},{"id":1754990938890,"input":"123\n3\n1 2 5","output":"23"},{"id":1754990946378,"input":"190000\n3\n1 2 9","output":"101117"},{"id":1754990953482,"input":"10\n1\n1","output":"2"},{"id":1754990961393,"input":"9999\n8\n0 1 2 3 4 5 6 7","output":"4"},{"id":1754990972344,"input":"5959\n4\n1 2 3 4","output":"4"},{"id":1754990984622,"input":"19\n1\n1","output":"3"},{"id":1754990998486,"input":"0\n10\n0 1 2 3 4 5 6 7 8 9","output":"100"},{"id":1754991058402,"input":"500000\n10\n0 1 2 3 4 5 6 7 8 9","output":"499900"},{"id":1754991074615,"input":"6 \n9\n0 2 3 4 5 6 7 8 9","output":"6"},{"id":1754991088278,"input":"10 \n9 \n1 2 3 4 5 6 7 8 9","output":"11"},{"id":1754991094733,"input":"101\n0","output":"1"},{"id":1754991103932,"input":"0\n0","output":"1"},{"id":1754991563596,"input":"9\n8\n9 8 7 6 5 4 3 2","output":"3"}],"interactive":false,"memoryLimit":1024,"timeLimit":3000,"srcPath":"d:\\AlgoLeadME-15\\AlgoLeadMe-15\\Seol-Munhyeok\\๋ฆฌ๋ชจ์ปจ.py","group":"local","local":true}
5 changes: 4 additions & 1 deletion Seol-Munhyeok/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,4 +12,7 @@
| 16์ฐจ์‹œ | 2025.07.30 | ํŠธ๋ฆฌ, ๋ถ„ํ•  ์ •๋ณต, ์žฌ๊ท€ | [ํŠธ๋ฆฌ์˜ ์ˆœํšŒ](https://www.acmicpc.net/problem/2263) | https://github.com/AlgoLeadMe/AlgoLeadMe-15/pull/58 |
| 17์ฐจ์‹œ | 2025.08.01 | ๊ตฌํ˜„, ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๋ฐฑํŠธ๋ž˜ํ‚น | [์ฒญ์†Œ๋…„ ์ƒ์–ด](https://www.acmicpc.net/problem/19236) | https://github.com/AlgoLeadMe/AlgoLeadMe-15/pull/61 |
| 18์ฐจ์‹œ | 2025.08.05 | ๋ธŒ๋ฃจํŠธํฌ์Šค, ์• ๋“œ ํ˜น, ํ™€์ง์„ฑ | [๋žจํ”„](https://www.acmicpc.net/problem/1034) | https://github.com/AlgoLeadMe/AlgoLeadMe-15/pull/62 |
| 19์ฐจ์‹œ | 2025.08.10 | ๊ตฌํ˜„, BFS | [๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ](https://school.programmers.co.kr/learn/courses/30/lessons/81302) | https://github.com/AlgoLeadMe/AlgoLeadMe-15/pull/67 |
| 19์ฐจ์‹œ | 2025.08.10 | ๊ตฌํ˜„, BFS | [๊ฑฐ๋ฆฌ๋‘๊ธฐ ํ™•์ธํ•˜๊ธฐ](https://school.programmers.co.kr/learn/courses/30/lessons/81302) | https://github.com/AlgoLeadMe/AlgoLeadMe-15/pull/67 |
| 20์ฐจ์‹œ | 2025.08.14 | DP | [์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ ๊ณต๋ถ€](https://school.programmers.co.kr/learn/courses/30/lessons/118668) | https://github.com/AlgoLeadMe/AlgoLeadMe-15/pull/73 |
AlgoLeadMe/AlgoLeadMe-15/pull/67 |
| 21์ฐจ์‹œ | 2025.08.18 | ์‹œ๋ฎฌ๋ ˆ์ด์…˜, ๊ทธ๋ฆฌ๋”” | [์–‘๊ถ ๋Œ€ํšŒ](https://school.programmers.co.kr/learn/courses/30/lessons/92342) | https://github.com/AlgoLeadMe/AlgoLeadMe-15/pull/75 |
48 changes: 48 additions & 0 deletions Seol-Munhyeok/๋ฆฌ๋ชจ์ปจ.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
n = int(input())
m = int(input())
lst = list(map(int, input().split())) if m > 0 else []
cand = [i for i in range(10) if i not in lst] # ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ˆซ์ž ๋ฒ„ํŠผ
length = len(str(n))

answer = int(1e9)

def brute(arr, r, depth, value):
global n, answer
if depth == r:
answer = min(answer, r + abs(n - value))
return
for num in arr:
brute(arr, r, depth + 1, value * 10 + num)

def solve(num):
global answer
# ๊ธฐ๋ณธ๊ฐ’: ์ˆซ์ž ๋ฒ„ํŠผ ์•ˆ ์“ฐ๊ณ  +/-
answer = abs(num - 100)

# [1] ์ฑ„๋„์ด 100์ธ ๊ฒฝ์šฐ
if num == 100:
return 0

# [2] 100 ๊ทผ์ฒ˜ ์ฑ„๋„ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ
if num == 101 or num == 99:
return 1
if num == 102 or num == 98:
return 2
if num == 103:
return 3

# [3] ๋ชจ๋‘ ๊ณ ์žฅ
if m == 10:
return answer

# [4] ์•„๋ฌด๊ฒƒ๋„ ์•ˆ ๊ณ ์žฅ
if m == 0:
return len(str(num))

# [5] ๋ชจ๋“  ์ž๋ฆฟ์ˆ˜๋งˆ๋‹ค ๊ฒฝ์šฐ์˜ ์ˆ˜ ์ฒดํฌ
for r in range(1, length + 2):
brute(cand, r, 0, 0)

return answer

print(solve(n))
38 changes: 38 additions & 0 deletions Seol-Munhyeok/์–‘๊ถ๋Œ€ํšŒ.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
def get_points(a, r):
a_point, r_point = 0, 0
for i in range(11):
if a[i] == r[i] == 0: continue
if a[i] >= r[i]:
a_point += (10 - i)
else:
r_point += (10 - i)
return (a_point, r_point)

def get_combinations(n, r, cur):
# ๋งˆ์ง€๋ง‰์ผ ๋•Œ๋Š” n์„ ์ถ”๊ฐ€
if r == 1:
return [cur + [n]]

results = []
for i in range(n + 1):
results += get_combinations(n - i, r - 1, cur + [i])

return results


def solution(n, info):
answer = []
max_point = 0
cands = get_combinations(n, 11, [])
sorted_cands = sorted(cands, key=lambda x: tuple(x[::-1]), reverse=True)

for cand in sorted_cands:
a_point, r_point = get_points(info, cand)
if a_point >= r_point: continue

diff = r_point - a_point
if diff > max_point:
max_point = diff
answer = cand

return answer if answer else [-1]
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
def solution(alp, cop, problems):
INF = int(1e9)
maxA = max(p[0] for p in problems)
maxC = max(p[1] for p in problems)

# ์ดˆ๊ธฐ์˜ ์•Œ๊ณ ๋ ฅ(์ฝ”๋”ฉ๋ ฅ) ์ž์ฒด๊ฐ€ alp_max(cop_max)๋ณด๋‹ค ๋†’์€ ๊ฒฝ์šฐ์— ๋Œ€ํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ
alp, cop = min(alp, maxA), min(cop, maxC)

# dp[a][c] : ์•Œ๊ณ ๋ ฅ a, ์ฝ”๋”ฉ๋ ฅ c๋ฅผ ์–ป๋Š”๋ฐ ๊ฑธ๋ฆฐ ์‹œ๊ฐ„
dp = [[INF for _ in range(maxC + 1)] for _ in range(maxA + 1)]
dp[alp][cop] = 0 # ์ดˆ๊ธฐ๊ฐ’ ์„ค์ •

# DP
for a in range(alp, maxA + 1):
for c in range(cop, maxC + 1):
# ๊ณต๋ถ€ํ•˜๋Š” ๊ฒฝ์šฐ
ta, tc = min(maxA, a+1), min(maxC, c+1)
dp[ta][c] = min(dp[ta][c], dp[a][c] + 1)
dp[a][tc] = min(dp[a][tc], dp[a][c] + 1)

# ๋ฌธ์ œ ํ’€์ดํ•˜๋Š” ๊ฒฝ์šฐ
for alp_req, cop_req, alp_rwd, cop_rwd, cost in problems:
if a >= alp_req and c >= cop_req:
na, nc = min(maxA, a + alp_rwd), min(maxC, c + cop_rwd)
dp[na][nc] = min(dp[na][nc], dp[a][c] + cost)

return dp[maxA][maxC]