๐ป Algorithm/Python
-
[Python] ๋ฐฑ์ค 3184 ์ (BFS)๐ป Algorithm/Python 2022. 7. 2. 15:49
๐ ๋ฌธ์ ๋ฏธํค์ ๋ท๋ง๋น์๋ ํน์ ์์ ์์ด ์๋ค. ๊ทธ๊ฐ ํน ์ ๋ ์ฌ์ด์ ๋ฐฐ๊ณ ํ ๋๋๋ ๋ง๋น์ ๋ค์ด์ ์์ ๊ณต๊ฒฉํ๋ค. ๋ง๋น์ ํ๊ณผ ์ด๋ก ์ด๋ฃจ์ด์ง ์ง์ฌ๊ฐํ ๋ชจ์์ด๋ค. ๊ธ์ '.' (์ )์ ๋น ํ๋๋ฅผ ์๋ฏธํ๋ฉฐ, ๊ธ์ '#'๋ ์ธํ๋ฆฌ๋ฅผ, 'o'๋ ์, 'v'๋ ๋๋๋ฅผ ์๋ฏธํ๋ค. ํ ์นธ์์ ์ํ, ์์ง๋ง์ผ๋ก ์ด๋ํ๋ฉฐ ์ธํ๋ฆฌ๋ฅผ ์ง๋์ง ์๊ณ ๋ค๋ฅธ ์นธ์ผ๋ก ์ด๋ํ ์ ์๋ค๋ฉด, ๋ ์นธ์ ๊ฐ์ ์์ญ ์์ ์ํด ์๋ค๊ณ ํ๋ค. ๋ง๋น์์ "ํ์ถ"ํ ์ ์๋ ์นธ์ ์ด๋ค ์์ญ์๋ ์ํ์ง ์๋๋ค๊ณ ๊ฐ์ฃผํ๋ค. ๋คํํ ์ฐ๋ฆฌ์ ์์ ๋๋์๊ฒ ์ธ์์ ๊ฑธ ์ ์๊ณ ์์ญ ์์ ์์ ์๊ฐ ๋๋์ ์๋ณด๋ค ๋ง๋ค๋ฉด ์ด๊ธฐ๊ณ , ๋๋๋ฅผ ์ฐ๋ฆฌ์์ ์ซ์๋ธ๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ๋๋๊ฐ ๊ทธ ์ง์ญ ์์ ๋ชจ๋ ์์ ๋จน๋๋ค. ๋งจ ์ฒ์ ๋ชจ๋ ์๊ณผ ๋๋๋ ๋ง๋น ์ ์์ญ์ ์กด์ฌ..
-
[Python] ๋ฐฑ์ค 2667 ๋จ์ง๋ฒํธ๋ถ์ด๊ธฐ (BFS)๐ป Algorithm/Python 2022. 7. 2. 15:47
๐ ๋ฌธ์ ๊ณผ ๊ฐ์ด ์ ์ฌ๊ฐํ ๋ชจ์์ ์ง๋๊ฐ ์๋ค. 1์ ์ง์ด ์๋ ๊ณณ์, 0์ ์ง์ด ์๋ ๊ณณ์ ๋ํ๋ธ๋ค. ์ฒ ์๋ ์ด ์ง๋๋ฅผ ๊ฐ์ง๊ณ ์ฐ๊ฒฐ๋ ์ง์ ๋ชจ์์ธ ๋จ์ง๋ฅผ ์ ์ํ๊ณ , ๋จ์ง์ ๋ฒํธ๋ฅผ ๋ถ์ด๋ ค ํ๋ค. ์ฌ๊ธฐ์ ์ฐ๊ฒฐ๋์๋ค๋ ๊ฒ์ ์ด๋ค ์ง์ด ์ข์ฐ, ํน์ ์๋์๋ก ๋ค๋ฅธ ์ง์ด ์๋ ๊ฒฝ์ฐ๋ฅผ ๋งํ๋ค. ๋๊ฐ์ ์์ ์ง์ด ์๋ ๊ฒฝ์ฐ๋ ์ฐ๊ฒฐ๋ ๊ฒ์ด ์๋๋ค. ๋ ์ ๋จ์ง๋ณ๋ก ๋ฒํธ๋ฅผ ๋ถ์ธ ๊ฒ์ด๋ค. ์ง๋๋ฅผ ์ ๋ ฅํ์ฌ ๋จ์ง์๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ฐ ๋จ์ง์ ์ํ๋ ์ง์ ์๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ์ฌ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์๋ ์ง๋์ ํฌ๊ธฐ N(์ ์ฌ๊ฐํ์ด๋ฏ๋ก ๊ฐ๋ก์ ์ธ๋ก์ ํฌ๊ธฐ๋ ๊ฐ์ผ๋ฉฐ 5≤N≤25)์ด ์ ๋ ฅ๋๊ณ , ๊ทธ ๋ค์ N์ค์๋ ๊ฐ๊ฐ N๊ฐ์ ์๋ฃ(0ํน์ 1)๊ฐ ์ ๋ ฅ๋๋ค. ์ถ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์๋ ์ด ๋จ์ง์๋ฅผ ์ถ๋ ฅํ์์ค. ๊ทธ๋ฆฌ๊ณ ..
-
[Python] ๋ฐฑ์ค 2615 ์ค๋ชฉ (Brute Force)๐ป Algorithm/Python 2022. 7. 2. 15:44
๐ ๋ฌธ์ ์ค๋ชฉ์ ๋ฐ๋ํ์ ๊ฒ์ ๋ฐ๋์๊ณผ ํฐ ๋ฐ๋์์ ๊ต๋๋ก ๋์์ ๊ฒจ๋ฃจ๋ ๊ฒ์์ด๋ค. ๋ฐ๋ํ์๋ 19๊ฐ์ ๊ฐ๋ก์ค๊ณผ 19๊ฐ์ ์ธ๋ก์ค์ด ๊ทธ๋ ค์ ธ ์๋๋ฐ ๊ฐ๋ก์ค์ ์์์๋ถํฐ ์๋๋ก 1๋ฒ, 2๋ฒ, ... ,19๋ฒ์ ๋ฒํธ๊ฐ ๋ถ๊ณ ์ธ๋ก์ค์ ์ผ์ชฝ์์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก 1๋ฒ, 2๋ฒ, ... 19๋ฒ์ ๋ฒํธ๊ฐ ๋ถ๋๋ค. ์์ ๊ทธ๋ฆผ์์์ ๊ฐ์ด ๊ฐ์ ์์ ๋ฐ๋์์ด ์ฐ์์ ์ผ๋ก ๋ค์ฏ ์์ ๋์ด๋ฉด ๊ทธ ์์ด ์ด๊ธฐ๊ฒ ๋๋ค. ์ฌ๊ธฐ์ ์ฐ์์ ์ด๋ ๊ฐ๋ก, ์ธ๋ก ๋๋ ๋๊ฐ์ ๋ฐฉํฅ ๋ชจ๋๋ฅผ ๋ปํ๋ค. ์ฆ, ์์ ๊ทธ๋ฆผ์ ๊ฒ์์์ด ์ด๊ธด ๊ฒฝ์ฐ์ด๋ค. ํ์ง๋ง ์ฌ์ฏ ์ ์ด์์ด ์ฐ์์ ์ผ๋ก ๋์ธ ๊ฒฝ์ฐ์๋ ์ด๊ธด ๊ฒ์ด ์๋๋ค. ์ ๋ ฅ์ผ๋ก ๋ฐ๋ํ์ ์ด๋ค ์ํ๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฒ์์์ด ์ด๊ฒผ๋์ง, ํฐ์์ด ์ด๊ฒผ๋์ง ๋๋ ์์ง ์น๋ถ๊ฐ ๊ฒฐ์ ๋์ง ์์๋์ง๋ฅผ ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค...
-
[Python] ๋ฐฑ์ค 1913 ๋ฌํฝ์ด (๊ตฌํ)๐ป Algorithm/Python 2022. 7. 2. 15:39
๐ ๋ฌธ์ ํ์์ธ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ฉด, ๋ค์๊ณผ ๊ฐ์ด 1๋ถํฐ N2๊น์ง์ ์์ฐ์๋ฅผ ๋ฌํฝ์ด ๋ชจ์์ผ๋ก N×N์ ํ์ ์ฑ์ธ ์ ์๋ค. N์ด ์ฃผ์ด์ก์ ๋, ์ด๋ฌํ ํ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ํ N2 ์ดํ์ ์์ฐ์๊ฐ ํ๋ ์ฃผ์ด์ก์ ๋, ๊ทธ ์ขํ๋ ํจ๊ป ์ถ๋ ฅํ์์ค. ์๋ฅผ ๋ค์ด N=5์ธ ๊ฒฝ์ฐ 6์ ์ขํ๋ (4,3)์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ์์ธ ์์ฐ์ N(3 ≤ N ≤ 999)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์์น๋ฅผ ์ฐพ๊ณ ์ ํ๋ N2 ์ดํ์ ์์ฐ์๊ฐ ํ๋ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ N๊ฐ์ ์ค์ ๊ฑธ์ณ ํ๋ฅผ ์ถ๋ ฅํ๋ค. ๊ฐ ์ค์ N๊ฐ์ ์์ฐ์๋ฅผ ํ ์นธ์ฉ ๋์ด์ ์ถ๋ ฅํ๋ฉด ๋๋ฉฐ, ์๋ฆฟ์๋ฅผ ๋ง์ถ ํ์๊ฐ ์๋ค. N+1๋ฒ์งธ ์ค์๋ ์ ๋ ฅ๋ฐ์ ์์ฐ์์ ์ขํ๋ฅผ ๋ํ๋ด๋ ๋ ์ ์๋ฅผ ํ ์นธ ๋์ด์ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 7 35 ์์ ์ถ๋ ฅ 1 49..
-
[Python] ๋ฐฑ์ค 2178 ๋ฏธ๋ก ํ์ (BFS)๐ป Algorithm/Python 2022. 7. 2. 15:36
๐ ๋ฌธ์ N×Mํฌ๊ธฐ์ ๋ฐฐ์ด๋ก ํํ๋๋ ๋ฏธ๋ก๊ฐ ์๋ค. 1 0 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 1 1 1 0 1 1 ๋ฏธ๋ก์์ 1์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ด๊ณ , 0์ ์ด๋ํ ์ ์๋ ์นธ์ ๋ํ๋ธ๋ค. ์ด๋ฌํ ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ก์ ๋, (1, 1)์์ ์ถ๋ฐํ์ฌ (N, M)์ ์์น๋ก ์ด๋ํ ๋ ์ง๋์ผ ํ๋ ์ต์์ ์นธ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ํ ์นธ์์ ๋ค๋ฅธ ์นธ์ผ๋ก ์ด๋ํ ๋, ์๋ก ์ธ์ ํ ์นธ์ผ๋ก๋ง ์ด๋ํ ์ ์๋ค. ์์ ์์์๋ 15์นธ์ ์ง๋์ผ (N, M)์ ์์น๋ก ์ด๋ํ ์ ์๋ค. ์นธ์ ์ ๋์๋ ์์ ์์น์ ๋์ฐฉ ์์น๋ ํฌํจํ๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ ์ ์ N, M(2 ≤ N, M ≤ 100)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ M๊ฐ์ ์ ์๋ก ๋ฏธ๋ก๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ๊ฐ์ ์๋ค์ ๋ถ์ด์ ..
-
[Python] ๋ฐฑ์ค 1325 ํจ์จ์ ์ธ ํดํน (BFS)๐ป Algorithm/Python 2022. 7. 2. 15:33
๐ ๋ฌธ์ ํด์ปค ๊น์ง๋ฏผ์ ์ ์๋ ค์ง ์ด๋ ํ์ฌ๋ฅผ ํดํนํ๋ ค๊ณ ํ๋ค. ์ด ํ์ฌ๋ N๊ฐ์ ์ปดํจํฐ๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ๊น์ง๋ฏผ์ ๊ท์ฐฎ๊ธฐ ๋๋ฌธ์, ํ ๋ฒ์ ํดํน์ผ๋ก ์ฌ๋ฌ ๊ฐ์ ์ปดํจํฐ๋ฅผ ํดํน ํ ์ ์๋ ์ปดํจํฐ๋ฅผ ํดํนํ๋ ค๊ณ ํ๋ค. ์ด ํ์ฌ์ ์ปดํจํฐ๋ ์ ๋ขฐํ๋ ๊ด๊ณ์, ์ ๋ขฐํ์ง ์๋ ๊ด๊ณ๋ก ์ด๋ฃจ์ด์ ธ ์๋๋ฐ, A๊ฐ B๋ฅผ ์ ๋ขฐํ๋ ๊ฒฝ์ฐ์๋ B๋ฅผ ํดํนํ๋ฉด, A๋ ํดํนํ ์ ์๋ค๋ ์๋ฆฌ๋ค. ์ด ํ์ฌ์ ์ปดํจํฐ์ ์ ๋ขฐํ๋ ๊ด๊ณ๊ฐ ์ฃผ์ด์ก์ ๋, ํ ๋ฒ์ ๊ฐ์ฅ ๋ง์ ์ปดํจํฐ๋ฅผ ํดํนํ ์ ์๋ ์ปดํจํฐ์ ๋ฒํธ๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์, N๊ณผ M์ด ๋ค์ด์จ๋ค. N์ 10,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์, M์ 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค๋ถํฐ M๊ฐ์ ์ค์ ์ ๋ขฐํ๋ ๊ด๊ณ๊ฐ A B์ ๊ฐ์ ํ์์ผ๋ก ๋ค์ด์ค..
-
[Python] ๋ฐฑ์ค 11725 ํธ๋ฆฌ์ ๋ถ๋ชจ ์ฐพ๊ธฐ (DFS)๐ป Algorithm/Python 2022. 7. 2. 15:29
๐ ๋ฌธ์ ๋ฃจํธ ์๋ ํธ๋ฆฌ๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, ํธ๋ฆฌ์ ๋ฃจํธ๋ฅผ 1์ด๋ผ๊ณ ์ ํ์ ๋, ๊ฐ ๋ ธ๋์ ๋ถ๋ชจ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ ธ๋์ ๊ฐ์ N (2 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N-1๊ฐ์ ์ค์ ํธ๋ฆฌ ์์์ ์ฐ๊ฒฐ๋ ๋ ์ ์ ์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N-1๊ฐ์ ์ค์ ๊ฐ ๋ ธ๋์ ๋ถ๋ชจ ๋ ธ๋ ๋ฒํธ๋ฅผ 2๋ฒ ๋ ธ๋๋ถํฐ ์์๋๋ก ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 7 1 6 6 3 3 5 4 1 2 4 4 7 ์์ ์ถ๋ ฅ 1 4 6 1 3 1 4 ์์ ์ ๋ ฅ 2 12 1 2 1 3 2 4 3 5 3 6 4 7 4 8 5 9 5 10 6 11 6 12 ์์ ์ถ๋ ฅ 2 1 1 2 3 3 4 4 5 5 6 6 ๐ ํ์ด import sys sys.setrecursionlimit(10**6) inp..
-
[Python] ๋ฐฑ์ค 19583 ์ธ์ด๋ฒ๊ฐ๊ฐ์ดํ (Set)๐ป Algorithm/Python 2022. 7. 2. 15:27
๐ ๋ฌธ์ ๋ณด์์ด๋ ์๊ณ ๋ฆฌ์ฆ ๋์๋ฆฌ HI-ARC๋ฅผ ์ด์ํ๊ณ ์๋ค. ๋ณด์์ด์ ์ด์์ง ์ผ๋์ 20๋ ๋์ ์ ํํ๋ ์ ์ ์๋ค์ ๋ง์ดํ๊ธฐ ์ํด ์ด์ฌํ ์ค๋น๋ฅผ ํด์์ผ๋, ์ ์ผ๋ณ์ ์ ํ์ด ์ ํ๋ ๋๋จธ์ง ์ ๋ถ์์๋ “์ฌํ์ ๊ฑฐ๋ฆฌ๋๊ธฐ”๋ฅผ ์ ์ธํ๊ณ ๊ทธ์ ๋ฐ๋ผ ํ๊ต์์๋ ๊ต๋ด ๋ชจ๋ ๋์๋ฆฌ์ ์คํ๋ผ์ธ ๋ชจ์์ ์์ ํ๋ผ๋ ๊ณต์ง๋ฅผ ํ๊ธฐ์ ์ด๋ฅด๋ ๋ค. ์คํ๋ผ์ธ์์ ๋ชจ์์ ์์ ํ๋ผ๋ ๊ถ๊ณ ๊ฐ ๋์จ ์ด๋ ค์ด ์ํฉ์๋ ๋ถ๊ตฌํ๊ณ , ๋ณด์์ด๋ ๊ธฐ์ง๋ฅผ ๋ฐํํ์ฌ ๊ฐ๊ฐ์ดํ๋ฅผ ๋ฏธํ๋ธ ์คํธ๋ฆฌ๋ฐ์ผ๋ก ๋์ฒดํ๋ ๊ฒฐ์ ์ ํ๊ฒ ๋๋ค. ํ์ง๋ง, ๋ฏธํ๋ธ ์คํธ๋ฆฌ๋ฐ์ผ๋ก ๊ฐ๊ฐ์ดํ๋ฅผ ํ๊ฒ ๋ ๊ฒฝ์ฐ, ์๋์ ๊ฐ์ ๋ฌธ์ ๊ฐ ์์๋ค. ๋๊ฐ ๊ฐ๊ฐ์ดํ์ ์๋์ง ์ ์ ์๋ค. ๋๊ฐ ๊ฐ๊ฐ์ดํ ์๋ฆฌ์ ๋๊น์ง ๋จ์์์๋์ง ์ ์ ์๋ค. ์ด๋ค ์ฌ๋์ด ๊ฐ๊ฐ์ดํ ์คํธ๋ฆฌ๋ฐ์ ๋จ์ํ ํ์ด๋๊ธฐ๋ง ํ๋์ง ์..