diff --git "a/_WeeklyChallenges/W31-[DFS]/Assignment_BOJ_1230_\353\254\270\354\236\220\354\227\264\352\261\260\353\246\254.py" "b/_WeeklyChallenges/W31-[DFS]/Assignment_BOJ_1230_\353\254\270\354\236\220\354\227\264\352\261\260\353\246\254.py" new file mode 100644 index 0000000..e69de29 diff --git a/_WeeklyChallenges/W31-[DFS]/README.md b/_WeeklyChallenges/W31-[DFS]/README.md new file mode 100644 index 0000000..9a2bedf --- /dev/null +++ b/_WeeklyChallenges/W31-[DFS]/README.md @@ -0,0 +1,16 @@ +## ๐Ÿš€7์›” 3์ฃผ์ฐจ (7/14) ์Šคํ„ฐ๋”” ๋ฐœ์ œ ์ฃผ์ œ: Graph +> ๋ฐœ์ œ์ž: ์กฐ์œค์ƒ (@YoonYn9915) + +> [!NOTE] +> ์ฃผ์ œ: Graph + +### ๐Ÿ—‚๏ธ ์Šคํ„ฐ๋”” ์ž๋ฃŒ +- PDF: [๋ฐ”๋กœ๊ฐ€๊ธฐ](Study_PGS_92342.pdf) + +### ๐Ÿ“– ๋ฌธ์ œ +- [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค #์–‘๊ถ๋Œ€ํšŒ](https://school.programmers.co.kr/learn/courses/30/lessons/92342?gad_source=1&gad_campaignid=22799790467&gbraid=0AAAAAC_c4nBqL5si4CBUAklMeq2-iyfsJ&gclid=CjwKCAjwhuHEBhBHEiwAZrvdcv6rZd46q5dPmEW7kLTT7QDV-M4wIY4FCcu6A_NR7SBi2aX37hZjFhoC96gQAvD_BwE): Graph / Level 2 +- ์ •๋‹ต ์ฝ”๋“œ: [Study_PGS_92342_์–‘๊ถ๋Œ€ํšŒ.py](Study_PGS_92342_์–‘๊ถ๋Œ€ํšŒ.py) + +### ๐Ÿ’ป ๊ณผ์ œ +- [๋ฐฑ์ค€ #๋ฌธ์ž์—ด ๊ฑฐ๋ฆฌ](https://www.acmicpc.net/problem/1230): DP / ๊ณจ๋“œ 1 +- ์ •๋‹ต ์ฝ”๋“œ: [Assignment_BOJ_1230_๋ฌธ์ž์—ด๊ฑฐ๋ฆฌ.py](Assignment_BOJ_1230_๋ฌธ์ž์—ด๊ฑฐ๋ฆฌ.py) diff --git a/_WeeklyChallenges/W31-[DFS]/Study_PGS_92342.pdf b/_WeeklyChallenges/W31-[DFS]/Study_PGS_92342.pdf new file mode 100644 index 0000000..635aba8 Binary files /dev/null and b/_WeeklyChallenges/W31-[DFS]/Study_PGS_92342.pdf differ diff --git "a/_WeeklyChallenges/W31-[DFS]/Study_PGS_92342_\354\226\221\352\266\201\353\214\200\355\232\214.py" "b/_WeeklyChallenges/W31-[DFS]/Study_PGS_92342_\354\226\221\352\266\201\353\214\200\355\232\214.py" new file mode 100644 index 0000000..c83f3e5 --- /dev/null +++ "b/_WeeklyChallenges/W31-[DFS]/Study_PGS_92342_\354\226\221\352\266\201\353\214\200\355\232\214.py" @@ -0,0 +1,30 @@ +def solution(n, info): + global max_gap, answer + + answer = [-1] + score = [0] * 11 + max_gap = 0 + + def is_winner_with_gap(score): + a = 0 # ์–ดํ”ผ์น˜ ์ ์ˆ˜ + b = 0 # ๋ผ์ด์–ธ ์ ์ˆ˜ + + for i in range(len(info)): + if info[i] > 0 or score[i] > 0: + if info[i] >= score[i]: + a += (10 - i) + else: + b += (10 - i) + return (b > a, abs(a - b)) + + def dfs(L, cnt): + global max_gap, answer + if L == 11 or cnt == 0: + is_winner, gap = is_winner_with_gap(score) + if is_winner: + if cnt >= 0: # ํ™”์‚ด์ด ๋‚จ์€ ๊ฒฝ์šฐ + score[10] = cnt # 0์ ์— ์ด๋„ ์ด๊น€ + + if gap > max_gap: # ๊ฐญ์ด ๋” ํฐ ๊ฒฝ์šฐ๋กœ ์—…๋ฐ์ดํŠธ + max_gap = gap + answer = score.copy() \ No newline at end of file