๐งฎ PS
-
๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43162# ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋คํธ์ํฌ ๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ programmers.co.kr ํ์ด 1. 0๋ฒ ์ปดํจํฐ๋ถํฐ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ปดํจํฐ๋ฅผ ๋ฐฉ๋ฌธํ๋ค. (์ฌ ๋ฐฉ๋ฌธ ํ์ง ์๊ธฐ ์ํด g_check์ด๋ผ๋ ๋ฐฐ์ด์ ๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ ํ๋ค.) -> ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ปดํจํฐ๋ฅผ ๋ฐฉ๋ฌธํ๊ณ ๋๋ฉด answer += 1์ ํด์ค๋ค. (์ฐ๊ฒฐ ์ปดํจํฐ๋ฅผ ๋ชจ๋ ๋ฐฉ๋ฌธํ๋ฉด ๋คํธ์ํฌ ํ๋ฉ์ด๋ฆฌ ๋ฐ๊ฒฌ!) 2. ๋ฐฉ๋ฌธ์ฒดํฌ๋ DFS๋ฅผ ์ด์ฉํ์ฌ ์ฌ๊ท์ ์ผ๋ก ๊ตฌํํ๋ค. g_check = [] g_c..
[ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ๋คํธ์ํฌ๋ฌธ์ ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/43162# ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋คํธ์ํฌ ๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ programmers.co.kr ํ์ด 1. 0๋ฒ ์ปดํจํฐ๋ถํฐ ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ปดํจํฐ๋ฅผ ๋ฐฉ๋ฌธํ๋ค. (์ฌ ๋ฐฉ๋ฌธ ํ์ง ์๊ธฐ ์ํด g_check์ด๋ผ๋ ๋ฐฐ์ด์ ๋ฐฉ๋ฌธ์ฒดํฌ๋ฅผ ํ๋ค.) -> ์ฐ๊ฒฐ๋ ๋ชจ๋ ์ปดํจํฐ๋ฅผ ๋ฐฉ๋ฌธํ๊ณ ๋๋ฉด answer += 1์ ํด์ค๋ค. (์ฐ๊ฒฐ ์ปดํจํฐ๋ฅผ ๋ชจ๋ ๋ฐฉ๋ฌธํ๋ฉด ๋คํธ์ํฌ ํ๋ฉ์ด๋ฆฌ ๋ฐ๊ฒฌ!) 2. ๋ฐฉ๋ฌธ์ฒดํฌ๋ DFS๋ฅผ ์ด์ฉํ์ฌ ์ฌ๊ท์ ์ผ๋ก ๊ตฌํํ๋ค. g_check = [] g_c..
2022.03.11 -
https://programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๊ฒ ๋๋ฒ n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ programmers.co.kr ๋ฌธ์ ์ ํ : DFS / BFS ํ์ด dfs(idx, ๋์ ๊ฐ): if idx == numbers์ ๊ฐ์ # ์ฌ๊ท ์ข ๋ฃ์กฐ๊ฑด : ๋ชจ๋ ์์๋ฅผ ๋ํ๊ฑฐ๋ ๋บ๋ค๋ฉด ์ข ๋ฃ if ๋์ ๊ฐ == target: # ๋ชจ๋ ์์๋ฅผ ๋ํ๊ฑฐ๋ ๋บ๋๋ฐ, ๋์ ๊ฐ์ด target๊ณผ ์ผ์นํ๋ฉด answer += 1 answer += 1 return # ์์ง ์ข ๋ฃ์ ์ด๋ผ๋ฉด dfs(..
[ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ํ๊ฒ ๋๋ฒhttps://programmers.co.kr/learn/courses/30/lessons/43165 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ๊ฒ ๋๋ฒ n๊ฐ์ ์์ด ์๋ ์ ์๋ค์ด ์์ต๋๋ค. ์ด ์ ์๋ค์ ์์๋ฅผ ๋ฐ๊พธ์ง ์๊ณ ์ ์ ํ ๋ํ๊ฑฐ๋ ๋นผ์ ํ๊ฒ ๋๋ฒ๋ฅผ ๋ง๋ค๋ ค๊ณ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [1, 1, 1, 1, 1]๋ก ์ซ์ 3์ ๋ง๋ค๋ ค๋ฉด ๋ค์ ๋ค์ฏ ๋ฐฉ๋ฒ์ ์ธ ์ programmers.co.kr ๋ฌธ์ ์ ํ : DFS / BFS ํ์ด dfs(idx, ๋์ ๊ฐ): if idx == numbers์ ๊ฐ์ # ์ฌ๊ท ์ข ๋ฃ์กฐ๊ฑด : ๋ชจ๋ ์์๋ฅผ ๋ํ๊ฑฐ๋ ๋บ๋ค๋ฉด ์ข ๋ฃ if ๋์ ๊ฐ == target: # ๋ชจ๋ ์์๋ฅผ ๋ํ๊ฑฐ๋ ๋บ๋๋ฐ, ๋์ ๊ฐ์ด target๊ณผ ์ผ์นํ๋ฉด answer += 1 answer += 1 return # ์์ง ์ข ๋ฃ์ ์ด๋ผ๋ฉด dfs(..
2022.03.11 -
https://programmers.co.kr/learn/courses/30/lessons/92334 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ ๋ฌธ์ ์ค๋ช ์ ์ ์ฌ์ ๋ฌด์ง๋ ๊ฒ์ํ ๋ถ๋ ์ด์ฉ์๋ฅผ ์ ๊ณ ํ๊ณ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ผ๋ก ๋ฐ์กํ๋ ์์คํ ์ ๊ฐ๋ฐํ๋ ค ํฉ๋๋ค. ๋ฌด์ง๊ฐ ๊ฐ๋ฐํ๋ ค๋ ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ ์ ์ ๋ ํ ๋ฒ์ ํ ๋ช ์ programmers.co.kr ํ์ด ๋ณ๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ ์์ด ๋ฌธ์ ๋ฅผ ๊ทธ๋๋ก ๊ตฌํํ๋ฉด ๋๋ค. # ํ๋ฒ์ ํ ์ ์ ์ ๊ณ ๊ฐ๋ฅ, ํ ์ ์ ๋ฅผ ์ฌ๋ฌ๋ฒ ์ ๊ณ ์ 1๋ฒ์ผ๋ก ๊ฐ์ฃผ # K๋ฒ ์ด์ ์ ๊ณ ๋๋ฉด ์ ์ง # ์ ๊ณ ํ ์ฌ๋์๊ฒ ์ฒ๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ผ๋ก ๋ฐ๋๋ค. 3๊ฐ์ ๋ฉ์๋๋ฅผ ๊ตฌํํด์ ํ์๋ค. ์ฝ๋ฉ ํ ์คํธ๋ฅผ ๋ณผ๋ ํจ์๋ฅผ ๋๋๋๊ฒ ์ข์์ง ์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค.... # 0. (์ฌ์ ์ฒ๋ฆฌ) ๊ฐ์ ์ ๊ณ ๋ฅผ ํ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ..
[ํ๋ก๊ทธ๋๋จธ์ค] (Python) - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐhttps://programmers.co.kr/learn/courses/30/lessons/92334 ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ ๋ฌธ์ ์ค๋ช ์ ์ ์ฌ์ ๋ฌด์ง๋ ๊ฒ์ํ ๋ถ๋ ์ด์ฉ์๋ฅผ ์ ๊ณ ํ๊ณ ์ฒ๋ฆฌ ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ผ๋ก ๋ฐ์กํ๋ ์์คํ ์ ๊ฐ๋ฐํ๋ ค ํฉ๋๋ค. ๋ฌด์ง๊ฐ ๊ฐ๋ฐํ๋ ค๋ ์์คํ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ๊ฐ ์ ์ ๋ ํ ๋ฒ์ ํ ๋ช ์ programmers.co.kr ํ์ด ๋ณ๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ ์์ด ๋ฌธ์ ๋ฅผ ๊ทธ๋๋ก ๊ตฌํํ๋ฉด ๋๋ค. # ํ๋ฒ์ ํ ์ ์ ์ ๊ณ ๊ฐ๋ฅ, ํ ์ ์ ๋ฅผ ์ฌ๋ฌ๋ฒ ์ ๊ณ ์ 1๋ฒ์ผ๋ก ๊ฐ์ฃผ # K๋ฒ ์ด์ ์ ๊ณ ๋๋ฉด ์ ์ง # ์ ๊ณ ํ ์ฌ๋์๊ฒ ์ฒ๋ฆฌ๊ฒฐ๊ณผ๋ฅผ ๋ฉ์ผ๋ก ๋ฐ๋๋ค. 3๊ฐ์ ๋ฉ์๋๋ฅผ ๊ตฌํํด์ ํ์๋ค. ์ฝ๋ฉ ํ ์คํธ๋ฅผ ๋ณผ๋ ํจ์๋ฅผ ๋๋๋๊ฒ ์ข์์ง ์๋์ง ๋ชจ๋ฅด๊ฒ ๋ค.... # 0. (์ฌ์ ์ฒ๋ฆฌ) ๊ฐ์ ์ ๊ณ ๋ฅผ ํ ๊ฒฝ์ฐ๋ ์์ผ๋ฏ..
2022.03.09 -
#๋ฌธ์ ๋งํฌ :https://www.acmicpc.net/problem/2468 2468๋ฒ: ์์ ์์ญ ์ฌ๋๋ฐฉ์ฌ์ฒญ์์๋ ๋ง์ ๋น๊ฐ ๋ด๋ฆฌ๋ ์ฅ๋ง์ฒ ์ ๋๋นํด์ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ๊ณํํ๊ณ ์๋ค. ๋จผ์ ์ด๋ค ์ง์ญ์ ๋์ด ์ ๋ณด๋ฅผ ํ์ ํ๋ค. ๊ทธ ๋ค์์ ๊ทธ ์ง์ญ์ ๋ง์ ๋น๊ฐ ๋ด๋ ธ์ ๋ ๋ฌผ์ ์ ๊ธฐ์ง ์๋ www.acmicpc.net #๋์ด๋ : Silver1 #๋ถ๋ฅ : DFS #์ ๊ทผ๋ฐฉ๋ฒ DFS๋ฅผ ํตํด ์์ฌ๋ณด๋ค ๋ฎ์ ์ง์ญ์ 0์ผ๋ก ๋ฐ๊พธ๊ณ , ๊ทธ ์ด์ธ์ ์ง์ญ์ด ๋ช๊ฐ์ ๋ฒ์๊ฐ ๋๋์ง ํ์ธํ๋ค. ์ด๋ ์์ฌ์ ๊ฐ์ฅ ๋ฎ์ ์ง์ญ ~ ๊ฐ์ฅ ๋์ ์ง์ญ์ ๋ฒ์๋ก +1์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ๋ชจ๋ ํ์ธํด๋ณธ๋ค. ๋ฌธ์ ์์ ๋ฌผ์ ์ ๊ธฐ์ง ์์์๋ ์๋ค ๋ผ๋ ์กฐ๊ฑด์ ๊ฑธ์์ผ๋ฏ๋ก, ์ ๋ต์ ๋ด์ ๋ฐฐ์ด์๋ 1์ ํ๋ ๋ฃ์ด์ค๋ค. (๋ต์ด ๋ ์ ์๋ ์ต์๊ฐ์ด 1์ด๋ฏ๋ก) ..
๋ฐฑ์ค (boj) ํ์ด์ฌ - 2468๋ฒ: ์์ ์์ญ#๋ฌธ์ ๋งํฌ :https://www.acmicpc.net/problem/2468 2468๋ฒ: ์์ ์์ญ ์ฌ๋๋ฐฉ์ฌ์ฒญ์์๋ ๋ง์ ๋น๊ฐ ๋ด๋ฆฌ๋ ์ฅ๋ง์ฒ ์ ๋๋นํด์ ๋ค์๊ณผ ๊ฐ์ ์ผ์ ๊ณํํ๊ณ ์๋ค. ๋จผ์ ์ด๋ค ์ง์ญ์ ๋์ด ์ ๋ณด๋ฅผ ํ์ ํ๋ค. ๊ทธ ๋ค์์ ๊ทธ ์ง์ญ์ ๋ง์ ๋น๊ฐ ๋ด๋ ธ์ ๋ ๋ฌผ์ ์ ๊ธฐ์ง ์๋ www.acmicpc.net #๋์ด๋ : Silver1 #๋ถ๋ฅ : DFS #์ ๊ทผ๋ฐฉ๋ฒ DFS๋ฅผ ํตํด ์์ฌ๋ณด๋ค ๋ฎ์ ์ง์ญ์ 0์ผ๋ก ๋ฐ๊พธ๊ณ , ๊ทธ ์ด์ธ์ ์ง์ญ์ด ๋ช๊ฐ์ ๋ฒ์๊ฐ ๋๋์ง ํ์ธํ๋ค. ์ด๋ ์์ฌ์ ๊ฐ์ฅ ๋ฎ์ ์ง์ญ ~ ๊ฐ์ฅ ๋์ ์ง์ญ์ ๋ฒ์๋ก +1์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ๋ชจ๋ ํ์ธํด๋ณธ๋ค. ๋ฌธ์ ์์ ๋ฌผ์ ์ ๊ธฐ์ง ์์์๋ ์๋ค ๋ผ๋ ์กฐ๊ฑด์ ๊ฑธ์์ผ๋ฏ๋ก, ์ ๋ต์ ๋ด์ ๋ฐฐ์ด์๋ 1์ ํ๋ ๋ฃ์ด์ค๋ค. (๋ต์ด ๋ ์ ์๋ ์ต์๊ฐ์ด 1์ด๋ฏ๋ก) ..
2021.08.25 -
#๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/10026 10026๋ฒ: ์ ๋ก์์ฝ ์ ๋ก์์ฝ์ ๋นจ๊ฐ์๊ณผ ์ด๋ก์์ ์ฐจ์ด๋ฅผ ๊ฑฐ์ ๋๋ผ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์, ์ ๋ก์์ฝ์ธ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ์ ์๋ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ๊ณผ๋ ์ข ๋ค๋ฅผ ์ ์๋ค. ํฌ๊ธฐ๊ฐ N×N์ธ ๊ทธ๋ฆฌ๋์ ๊ฐ ์นธ์ R(๋นจ๊ฐ), G(์ด๋ก) www.acmicpc.net # ๋ถ๋ฅ : dfs # ๋์ด๋ : Gold 5 ์ ๋ก์์ฝ์ธ ๊ฒฝ์ฐ, ์ ๋ก์์ฝ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด ์ด 2๋ฒ dfs๋ฅผ ๋๋ ธ๋ค. ์๊ฐ ์ด๊ณผ๊ฐ ์ฐ๋ ค๋์์ผ๋ ์ ๋ ฅ์ด 100์ค ์ดํ๋ผ์ ๋ฌธ์ ์์ด ํต๊ณผ ๋์๋ค. #์ฝ๋(Python) from sys import setrecursionlimit setrecursionlimit(10000) n = int(input()) grid = [] visi..
๋ฐฑ์ค (boj) ํ์ด์ฌ - 10026 : ์ ๋ก์์ฝ#๋ฌธ์ ๋งํฌ : https://www.acmicpc.net/problem/10026 10026๋ฒ: ์ ๋ก์์ฝ ์ ๋ก์์ฝ์ ๋นจ๊ฐ์๊ณผ ์ด๋ก์์ ์ฐจ์ด๋ฅผ ๊ฑฐ์ ๋๋ผ์ง ๋ชปํ๋ค. ๋ฐ๋ผ์, ์ ๋ก์์ฝ์ธ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ์ ์๋ ์ฌ๋์ด ๋ณด๋ ๊ทธ๋ฆผ๊ณผ๋ ์ข ๋ค๋ฅผ ์ ์๋ค. ํฌ๊ธฐ๊ฐ N×N์ธ ๊ทธ๋ฆฌ๋์ ๊ฐ ์นธ์ R(๋นจ๊ฐ), G(์ด๋ก) www.acmicpc.net # ๋ถ๋ฅ : dfs # ๋์ด๋ : Gold 5 ์ ๋ก์์ฝ์ธ ๊ฒฝ์ฐ, ์ ๋ก์์ฝ์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๋๋์ด ์ด 2๋ฒ dfs๋ฅผ ๋๋ ธ๋ค. ์๊ฐ ์ด๊ณผ๊ฐ ์ฐ๋ ค๋์์ผ๋ ์ ๋ ฅ์ด 100์ค ์ดํ๋ผ์ ๋ฌธ์ ์์ด ํต๊ณผ ๋์๋ค. #์ฝ๋(Python) from sys import setrecursionlimit setrecursionlimit(10000) n = int(input()) grid = [] visi..
2021.08.25 -
https://www.acmicpc.net/problem/2583 2583๋ฒ: ์์ญ ๊ตฌํ๊ธฐ ์ฒซ์งธ ์ค์ M๊ณผ N, ๊ทธ๋ฆฌ๊ณ K๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋ค. M, N, K๋ ๋ชจ๋ 100 ์ดํ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ K๊ฐ์ ์ค์๋ ํ ์ค์ ํ๋์ฉ ์ง์ฌ๊ฐํ์ ์ผ์ชฝ ์๋ ๊ผญ์ง์ ์ x, y์ขํ๊ฐ๊ณผ ์ค www.acmicpc.net #๋ถ๋ฅ : DFS #๋์ด๋ : Silver 1 ์ฝ๋(Python) from sys import setrecursionlimit setrecursionlimit(10000) m,n,k = map(int, input().split()) map_ = [[0 for i in range(m)] for i in range(n)] areas = [] def is_valid(x,y): if ..
๋ฐฑ์ค (boj) ํ์ด์ฌ - 2583๋ฒ: ์์ญ ๊ตฌํ๊ธฐhttps://www.acmicpc.net/problem/2583 2583๋ฒ: ์์ญ ๊ตฌํ๊ธฐ ์ฒซ์งธ ์ค์ M๊ณผ N, ๊ทธ๋ฆฌ๊ณ K๊ฐ ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์ฐจ๋ก๋ก ์ฃผ์ด์ง๋ค. M, N, K๋ ๋ชจ๋ 100 ์ดํ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ K๊ฐ์ ์ค์๋ ํ ์ค์ ํ๋์ฉ ์ง์ฌ๊ฐํ์ ์ผ์ชฝ ์๋ ๊ผญ์ง์ ์ x, y์ขํ๊ฐ๊ณผ ์ค www.acmicpc.net #๋ถ๋ฅ : DFS #๋์ด๋ : Silver 1 ์ฝ๋(Python) from sys import setrecursionlimit setrecursionlimit(10000) m,n,k = map(int, input().split()) map_ = [[0 for i in range(m)] for i in range(n)] areas = [] def is_valid(x,y): if ..
2021.08.25