๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ณด์ ์ผํ ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr ๋ฌธ์ ํ์ด ์ง์ด๋ ๋ณด์๋ค ์ค ๋ชจ๋ ์ข ๋ฅ์ ๋ณด์์ ์ ์ด๋ 1๊ฐ ์ด์ ํฌํจํ๋ ๊ฐ์ฅ ์งง์ ๊ตฌ๊ฐ์ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์์์๋ถํฐ ์์ฐจ์ ์ผ๋ก ํ์์ ํ๊ฒ ๋๋ฉด ํจ์จ์ฑ์ ํต๊ณผํ ์ ์๋ค. ๊ณ ๋ฏผ์ ํ๋ค๊ฐ ์๋ฃจ์ ์ ์ฐธ์กฐํ์๋๋ฐ, `ํฌํฌ์ธํฐ`๋ฅผ ์ฌ์ฉํ์ฌ์ผ ํ๋ ๋ฌธ์ ์๋ค. ๊ตฌํํ๋ ๋ฐฉ์์ ์๋ฃจ์ ๊ณผ ๊ฐ์ด ๊ตฌํํ๋ฉด, ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ํ์ `ํฌํฌ์ธํฐ`๋ฅผ ํ์ฉํ๋ ๋ฌธ์ ๋ฅผ ๋ค๋ฃจ์ด๋ณด์ง ์์ ํ์ด๋ฅผ ๋ณด๊ณ ๋์์ผ ์ดํด๋ฅผ ํ ์ ์์๋ค.๐ค ์ฝ๋ def solution(gems): start, end = 0, 0 gem_num = l..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - N์ผ๋ก ํํ programmers.co.kr ๋ฌธ์ ํ์ด ํน์ ํ ์ซ์ `N`์ผ๋ก ์ฌ์น์ฐ์ฐ์ ์ฌ์ฉํ์ฌ `number`๋ฅผ ํํํ ์ ์๋์ง ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ์ด๋ `N`์ ์ฌ์ฉํ ํ์๊ฐ ๊ฐ์ฅ ์์ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์์ผ ํ๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ `DP`๋ฅผ ํตํด์๋ ํ ์ ์์ง๋ง, `DFS`๋ฅผ ํตํด ํ๋๋ผ๋ ๊ฐ์ ํ ํต๊ณผํ ์ ์๋ค. `DFS`๋ฅผ ํตํด ์ฌ์ฉํ `N`์ ์๋ฅผ ์นด์ดํธํ๊ณ , ์นด์ดํธ๋ ์๊ฐ 8๋ณด๋ค ํฌ๋ค๋ฉด ๋ ์ด์ ๊ฐ์ง๋ฅผ ๋ป์ ํ์ ์์ด ์ข ๋ฃํ๋ฉด ๋๋ค. ๋ํ ๋ง์กฑํ๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ ๊ฒฝ์ฐ, ํ์ฌ ์ฐพ์ ์นด์ดํธ๋ณด๋ค `N`์ ๋ ๋ง์ด ์ฌ์ฉํ๋ค๋ฉด ๊ฐ์ง๋ฅผ ๋ป์ง ์์ผ๋ฉด ๋ณด๋ค ์๊ฐ์ ๋จ์ถ์ํฌ ์ ์๋ค. ์ฝ๋ from math import inf answer = inf def dfs(n, cnt, num,..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ด์ค์ฐ์ ์์ํ programmers.co.kr ๋ฌธ์ ํ์ด ์ฃผ์ด์ง ์ฐ์ฐ ์ข ๋ฅ์ ๋ฐ๋ผ ํ์ ์ฐ์ฐ์ ์ฝ์ ํ๊ณ ์ญ์ ํ๋ ๊ณผ์ ์ ์งํํ๋ค. ์ฐ์ฐ์ ์ข ๋ฅ์ ๋ฐ๋ผ ๋์ํ๋ ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ๋ค. ๋ช ๋ น์ด์ ๋ฐ๋ผ ํ์ ์ซ์๋ฅผ ์ฝ์ ํ๊ณ , `D 1`์ธ ๊ฒฝ์ฐ ํ์์ ์ต๋๊ฐ์ ์ญ์ ํ๋ค. ์ด์ ๋ฌ๋ฆฌ `D -1`์ธ ๊ฒฝ์ฐ ํ์์ ์ต์๊ฐ์ ์ญ์ ํ๋ค. ์ด๋ ๋ณ๋๋ก `heapq`๋ฅผ ์ฌ์ฉํ์ง ์๋๋ผ๋ `list`๋ฅผ ํตํด ๊ฐ๋จํ ๊ตฌํํ ์ ์๋ค. ์ฝ๋ def solution(operations): answer = [] for cur_op in operations: op, num = cur_op.split(' ') if op == 'I': answer.append(int(num)) elif answer: if num =..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ง๊ฒ๋ค๋ฆฌ ์ถ๋ฐ์ง์ ๋ถํฐ distance๋งํผ ๋จ์ด์ง ๊ณณ์ ๋์ฐฉ์ง์ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ์ฌ์ด์๋ ๋ฐ์๋ค์ด ๋์ฌ์์ต๋๋ค. ๋ฐ์ ์ค ๋ช ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ๋์ฐฉ์ง์ ์ด 25๋งํผ ๋จ์ด์ ธ ์๊ณ , ๋ฐ์๊ฐ programmers.co.kr ๋ฌธ์ ํ์ด ์ถ๋ฐ์ง์ ๋ถํฐ ๊ฑฐ๋ฆฌ๋งํผ ๋จ์ด์ง ๊ณณ์ ๋์ฐฉ์ง์ ์ด ์๋ค. ์ด๋ ๊ทธ ์ฌ์ด์ ์๋ ๋ฐ์๋ค ์ค ๋ช ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ ค๊ณ ํ๋ค. ํน์ ๋ฐ์๋ฅผ `N`๊ฐ๋งํผ ์ ๊ฑฐํ ๋ ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ์ด ์ต๋๊ฐ ๋๋ ๊ฒฝ์ฐ๋ฅผ ๊ตฌํ๋ ๋ฌธ์ ์ด๋ค. ์ด ๋ฌธ์ ๋ ๋ฌธ์ ์ ๋ถ๋ฅ์ ๊ฐ์ด `์ด๋ถ ํ์`์ผ๋ก ํด๊ฒฐํ ์ ์๋ค. `์ด๋ถ ํ์`์ ํตํด ์ต์๊ฐ ๊ธฐ์ค์ผ๋ก, ๋น ์ง ๋์ ๊ฐ์๋ฅผ ์นด์ดํธํ ํ ๊ฑฐ๋ฆฌ์ ์ต์๊ฐ์ด ์ต๋๊ฐ ๋๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค. ์ฝ๋ from math import inf def ..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ ์๋ค๋ฅผ ๋ค์ง์ด๋ ๋๊ฐ์ ๋ฌธ์์ด์ ํฐ๋ฆฐ๋๋กฌ(palindrome)์ด๋ผ๊ณ ํฉ๋๋ค. ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ง ๋, s์ ๋ถ๋ถ๋ฌธ์์ด(Substring)์ค ๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ์ ๊ธธ์ด๋ฅผ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์. ์๋ฅผ๋ค programmers.co.kr ๋ฌธ์ ํ์ด ๋ฌธ์์ด์ด ์ฃผ์ด์ง ๋, ๋ฌธ์์ด์ ๋ถ๋ถ ๋ฌธ์์ด ์ค ๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ์ ์ฐพ๋ ๋ฌธ์ ์ด๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ `2์ค ๋ฐ๋ณต๋ฌธ`์ ํตํด ๋ถ๋ถ ๋ฌธ์์ด์ ์์ ์์น์ ๋ ์์น๋ฅผ ์ค์ ํ ํฐ๋ฆฐ๋๋กฌ์ธ์ง ํ์ธํ๋ฉด ๋๋ค. ์ฝ๋ def solution(s): answer = -1 for i in range(len(s)): for j in range(i + 1, len(s) + 1): cur_string = s[i:..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ผ๊ทผ ์ง์ ํ์ฌ์ Demi๋ ๊ฐ๋์ ์ผ๊ทผ์ ํ๋๋ฐ์, ์ผ๊ทผ์ ํ๋ฉด ์ผ๊ทผ ํผ๋ก๋๊ฐ ์์ ๋๋ค. ์ผ๊ทผ ํผ๋ก๋๋ ์ผ๊ทผ์ ์์ํ ์์ ์์ ๋จ์ ์ผ์ ์์ ๋์ ์ ๊ณฑํ์ฌ ๋ํ ๊ฐ์ ๋๋ค. Demi๋ N์๊ฐ ๋์ ์ผ๊ทผ ํผ๋ก๋ programmers.co.kr ๋ฌธ์ ํ์ด ๋จ์ ์ผ์ ์์ ๋์ด ์์ ๋, ์ผ๊ทผ ์ง์๋ฅผ ์ต์ํํ์ฌ ๋ฐํํ๋ ๋ฌธ์ ์ด๋ค. ์ผ์ ์์ ๋์ด ์๊ณ , ์ผ์ ํ ์ ์๋ ์๊ฐ์ด ์๋ค๋ฉด ์์ ๋์ด ๊ฐ์ฅ ํฐ ์์ ๋ถํฐ ์ฒ๋ฆฌํ์ฌ์ผ ํ๋ค. ์ผ๊ทผ ์ง์๋ `์์ ๋์ ์ ๊ณฑ`์ด๊ธฐ ๋๋ฌธ์ด๋ค. ๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด์๋ `Python`์ ๊ฒฝ์ฐ `heapq`๋ฅผ ์ฌ์ฉํ์ฌ ํ์ด์ผ ํ๋ค. `heapq`๋ ์ต์ ํ์ด๊ธฐ ๋๋ฌธ์ ์ต๋ ํ์ ๋ง๋ค๊ธฐ ์ํด์๋ ์์ ๊ฐ์ผ๋ก ๋ณํํ์ฌ์ผ ํ๋ค. (์ด๋ works๊ฐ 1 ์ด์ ์ด๊ธฐ์ ๊ฐ๋ฅํ..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ซ์ ๊ฒ์ xx ํ์ฌ์ 2xN๋ช ์ ์ฌ์๋ค์ N๋ช ์ฉ ๋ ํ์ผ๋ก ๋๋ ์ซ์ ๊ฒ์์ ํ๋ ค๊ณ ํฉ๋๋ค. ๋ ๊ฐ์ ํ์ ๊ฐ๊ฐ Aํ๊ณผ Bํ์ด๋ผ๊ณ ํ๊ฒ ์ต๋๋ค. ์ซ์ ๊ฒ์์ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๋จผ์ ๋ชจ๋ ์ฌ์์ด ๋ฌด์์๋ก programmers.co.kr ๋ฌธ์ ํ์ด A, B ํ์ด ์์ ๋, ์์์ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. B ํ์ด ์ต๋ํ ์ด๊ธธ ์ ์๋๋ก ํ์ฌ ์ต๋ ์น์ ์ ๋ฐํํ๋๋ก ํ์ฌ์ผ ํ๋ค. A, B๋ฅผ ์ ๋ ฌํ๊ณ , ์ต๋ ๊ฐ์ ๋น๊ตํ์ฌ ์ฒ๋ฆฌํด์ฃผ๋ฉด ์ฝ๊ฒ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ๋ง์ฝ `Aํ์ ์ต์๊ฐ`์ด `Bํ์ ์ต๋๊ฐ` ๋ณด๋ค ํฌ๋ค๋ฉด ๋ณ๋์ ๋ฐ๋ณต๋ฌธ์ ์งํํ ํ์ ์์ด ๋ฐ๋ก 0์ ๋ฐํํ๋ฉด ๋๋ค. (์ด๊ธธ ์ ์๋ ๊ฒฝ์ฐ์ด๊ธฐ ๋๋ฌธ์ด๋ค.) ์ด์ธ์ ๊ฒฝ์ฐ `A์ ์ต๋๊ฐ`๊ณผ `B์ ์ต๋๊ฐ`์ ๋ฐ๋ผ ์ฒ๋ฆฌํ๋ฉด ๋๋ค. ์ฝ๋..
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ฐฐ๋ฌ 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr ๋ฌธ์ ํ์ด ๋ฌธ์ ์กฐ๊ฑด์ ๋ฐ๋ผ K ์๊ฐ ์ดํ๋ก ๋ฐฐ๋ฌ ๊ฐ๋ฅํ ๋ง์์์๋ง ์ฃผ๋ฌธ์ ๋ฐ์์ผ ํ๋ค. ์ด๋ ์์ ์ฃผ๋ฌธ์ ๋ฐ์ ์ ์๋ ๋ง์์ ๊ฐ์๋ฅผ ๋ฐํํ์ฌ์ผ ํ๋ค. ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ `BFS`๋ก ํ์ํ๋ ๊ฒ์ ๋นํจ์จ์ ์ด๋ค. ๋ฐ๋ผ์ `๋ค์ต์คํธ๋ผ`๋ฅผ ์ ์ฉํ์ฌ ํ์์ ํ๊ฒ ๋๋ฉด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค. ์ฝ๋ from math import inf from collections import deque def solution(N, road, K): visit..