Algorithm(81)
-
๋ฐฑ์ค - ์น์ฆ(Swift)
๋ฐฑ์ค - ์น์ฆ(Swift) ๋ฌธ์ ์ค๋ช https://www.acmicpc.net/problem/2636 2636๋ฒ: ์น์ฆ ์๋ ๊ณผ ๊ฐ์ด ์ ์ฌ๊ฐํ ์นธ๋ค๋ก ์ด๋ฃจ์ด์ง ์ฌ๊ฐํ ๋ชจ์์ ํ์ด ์๊ณ , ๊ทธ ์์ ์์ ์น์ฆ(ํ์์ผ๋ก ํ์๋ ๋ถ๋ถ)๊ฐ ๋์ฌ ์๋ค. ํ์ ๊ฐ์ฅ์๋ฆฌ(์์ ๋ค๋ชจ ์นธ์ X์น ๋ถ๋ถ)์๋ ์น์ฆ๊ฐ ๋ www.acmicpc.net ๋์ ํ์ด ์ค์ค๋ก์ ๊ธฐ๋ณธ๊ธฐ๊ฐ ๋งค์ฐ๋งค์ฐ ๋ถ์กฑํ๋ค๊ณ ๋๋ ๋ฌธ์ ์๋ค. ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์๋นํ ์ค๋์๊ฐ์ด ๊ฑธ๋ ธ๋๋ฐ ๊ทธ ์ด์ ๋ ๋ค์๊ณผ ๊ฐ๋ค. 1. ๋ชจ๋ ๊ณต๊ธฐ์ค์ ๋ ธ์ถ๋ ์น์ฆ๊ฐ ์๋ ์ธ๋ถ๊ณต๊ธฐ์ ๋ ธ์ถ๋ ์น์ฆ๋ง์ด ๋ น๋๋ค๋ ์ฌ์ค 2. ์ธ๋ถ ๊ณต๊ธฐ์ ๋ด๋ถ๊ณต๊ธฐ๋ฅผ ์ด๋ป๊ฒ ๋๋์ง 3. ์ธ๋ถ๊ณต๊ธฐ์ ์ํด ๋ น์ ์น์ฆ ์ดํ์ ์๊ธด ๊ณต๊ธฐ์ ๋ํ ์ฒ๋ฆฌ. ๋ฌด์๋ณด๋ค ์ ์ผ ํฐ ์ด์ ๋ ๋ฌธ์ ๋ฅผ ์ฐ์ต๊ฒ ์๊ฐํ๊ธฐ ๋๋ฌธ์ธ ๊ฒ ๊ฐ๋ค..
2022.11.22 -
๋ฐฑ์ค - ํฑ๋๋ฐํด 2(Swift)
๋ฐฑ์ค - ํฑ๋๋ฐํด 2(Swift) ๋ฌธ์ ์ค๋ช https://www.acmicpc.net/problem/15662 15662๋ฒ: ํฑ๋๋ฐํด (2) ์ด 8๊ฐ์ ํฑ๋๋ฅผ ๊ฐ์ง๊ณ ์๋ ํฑ๋๋ฐํด T๊ฐ๊ฐ ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ผ๋ ฌ๋ก ๋์ฌ์ ธ ์๋ค. ๋, ํฑ๋๋ N๊ทน ๋๋ S๊ทน ์ค ํ๋๋ฅผ ๋ํ๋ด๊ณ ์๋ค. ํฑ๋๋ฐํด์๋ ๋ฒํธ๊ฐ ๋งค๊ฒจ์ ธ ์๋๋ฐ, ๊ฐ์ฅ ์ผ์ชฝ ํฑ๋๋ฐํด www.acmicpc.net ๋์ ํ์ด ๋ณดํต ๋ฌธ์ ๊ฐ ๊ต์ฅํ ๊ธธ๋ฉด์ ์ ๋ ฅ๊ฐ์ด 1000์ดํ๋ผ๋ฉด ๊ตฌํ๋ฌธ์ ๋ค. ์ด ๋ฌธ์ ์ ํด๊ฒฐ์ ์ ํฑ๋๋ฐํด๊ฐ ๋ง๋ฌผ๋ฆฌ๋ ํ์ด๋ฐ์ด๋ค. ํฑ๋๋ฐํด๊ฐ ๋ง๋ฌผ๋ฆฌ๋ ๊ณต๊ฐ์ ์ธ๋ฑ์ค2์ 6์ด๋ค. ์์๋ก 4๊ฐ์ ํฑ๋๋ฐํด๊ฐ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์. 2๋ฒ ํฑ๋๋ฐํด๋ฅผ ์๊ณ๋ฐฉํฅ์ผ๋ก ๋๋ฆด๋ ์์ชฝ์ ํฑ๋๋ฐํด๋ ๋ง๋ฌผ๋ฆฌ๋ ๋ถ๋ถ์ด ํ์ธํด์ผํ๋ค. ์ฆ 1๋ฒ์ 6๋ฒ์ธ๋ฑ์ค์ 3๋ฒ์ 2๋ฒ์ธ๋ฑ์ค๋ฅผ..
2022.11.21 -
๋ฐฑ์ค - ์ธ๊ตฌ์ด๋(Swift)
๋ฐฑ์ค - ์ธ๊ตฌ์ด๋(Swift) ๋ฌธ์ ์ค๋ช https://www.acmicpc.net/problem/16234 16234๋ฒ: ์ธ๊ตฌ ์ด๋ N×Nํฌ๊ธฐ์ ๋ ์ด ์๊ณ , ๋ ์ 1×1๊ฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๊ฐ๊ฐ์ ๋ ์๋ ๋๋ผ๊ฐ ํ๋์ฉ ์กด์ฌํ๋ฉฐ, rํ c์ด์ ์๋ ๋๋ผ์๋ A[r][c]๋ช ์ด ์ด๊ณ ์๋ค. ์ธ์ ํ ๋๋ผ ์ฌ์ด์๋ ๊ตญ๊ฒฝ์ ์ด ์กด์ฌํ๋ค. ๋ชจ www.acmicpc.net ๋์ ํ์ด ์ด ๋ฌธ์ ๋ DFS, BFS๋ฌธ์ ๋ค. ๋ฒฝ์ด ํ๋ฌผ ์ ์๋ ํ ๊ณ์ ํ๋ฌธ๋ค ๋ฒฝ๋ค์ ํฉ์ ๊ฐ์๋ก ๋๋์ด ๋ฐฐ์ ํ๊ณ ๋ฅผ ๋ฐ๋ณตํ๋ฉด ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฅผ "ํ๋ฌผ ์ ์๋ ๋ฒฝ์ด ์์๋"๊น์ง ์งํํ๊ธฐ ๋๋ฌธ์ ๋ง์ฝ tempMap์ด ๊ธฐ์กด์ map๊ณผ ๋์ผํ๋ค๋ฉด ํ์ถํด์ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ฉด ๋๋ค. ์ฒ์์๋ BFS์ธ์ง ๋ฐ๋กํ์ธํ์ง ๋ชปํ๊ณ ํค๋งค๋ค๊ฐ ๋ค๋ฅธ์ฌ๋์ ํ์ด๋ฅผ ..
2022.11.21 -
๋ฐฑ์ค - ์นํจ๋ฐฐ๋ฌ(Swift)
๋ฐฑ์ค - ์นํจ๋ฐฐ๋ฌ(Swift) ๋ฌธ์ ์ค๋ช https://www.acmicpc.net/problem/15686 15686๋ฒ: ์นํจ ๋ฐฐ๋ฌ ํฌ๊ธฐ๊ฐ N×N์ธ ๋์๊ฐ ์๋ค. ๋์๋ 1×1ํฌ๊ธฐ์ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๋์์ ๊ฐ ์นธ์ ๋น ์นธ, ์นํจ์ง, ์ง ์ค ํ๋์ด๋ค. ๋์์ ์นธ์ (r, c)์ ๊ฐ์ ํํ๋ก ๋ํ๋ด๊ณ , rํ c์ด ๋๋ ์์์๋ถํฐ r๋ฒ์งธ ์นธ www.acmicpc.net ๋์ ํ์ด ์ ๋ ฅ์กฐ๊ฑด์ด ์์ ๊ฒ์ ๋ณด๊ณ ์์ ํ์์ ์๊ฐํ๊ณ ์ด ๋๋ฌธ์ ์กฐํฉ์ ์ด์ฉํด์ ๋ฌธ์ ๋ฅผ ํ์๋ค. ํ์ง๋ง ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์กฐ๊ธ ์ค๋๊ฑธ๋ ธ๋๋ฐ ๊ทธ ์ด์ ๊ฐ ์ง๋ค์ ๋ํด์ ๊ฐ์ฅ ๊ฐ๊น์ด ์นํจ์ง์ ๊ตฌํ๋ ๊ฒ์ด ์๋ ์นํจ์ง๋ค์ ๋ํด์ ๊ฐ์ฅ ๊ฐ๊น์ด ์ง์ ์ฐพ์๋ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ๋ ๋ชจ๋ ์ง์์ ๊ฐ์ฅ ๊ฐ๊น์ด ์นํจ์ง๊น์ง์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ๊ฒ์ธ๋ฐ ๋ง์ด๋ค. ์ด..
2022.11.18 -
๋ฐฑ์ค - ํฑํํ (Swift)
๋ฐฑ์ค - ํฑํํ (Swift) ๋ฌธ์ ์ค๋ช https://www.acmicpc.net/problem/7682 7682๋ฒ: ํฑํํ ํฑํํ ๊ฒ์์ ๋ ๋ช ์ ์ฌ๋์ด ๋ฒ๊ฐ์๊ฐ๋ฉฐ ๋ง์ ๋๋ ๊ฒ์์ด๋ค. ๊ฒ์ํ์ 3×3 ๊ฒฉ์ํ์ด๋ฉฐ, ์ฒ์์๋ ๋น์ด ์๋ค. ๋ ์ฌ๋์ ๊ฐ๊ฐ X ๋๋ O ๋ง์ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ๋๋๋ฐ, ๋ฐ๋์ ์ฒซ ๋ฒ์งธ ์ฌ๋์ด X๋ฅผ ๋๊ณ www.acmicpc.net ๋์ ํ์ด ๋ฌธ์ ๋ฅผ ๋ณด๊ณ 3x3๊ฒฉ์ํ์ด๋ผ๊ณ ํด์ ์ ๋ ฅ๊ฐ์์ 3x3ํํ๋ก ๋ณด๋ ๊ฑด๊ฐ? ์ถ์๋๋ฐ ํ์ค๋ก ๋ฐ๋ ๊ฒ์ด์๋ค. ์๊ฐํด๋ณด๋ฉด ํ์ค๋ง๋ค valid์ฌ๋ถ๊ฐ ์๋๋ฐ ๊ทธ๊ฑธ ๋ณด๊ณ ๋นจ๋ฆฌ ํ๋จํ์ด์ผํ๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌธ์ ๋ ์ต์ข ์ํ์ธ์ง๋ฅผ ํ๋ณํ๋ ๊ฒ์ด๋ค. ์ฆ ์ฃผ์ด์ง ํฑํํ ๋ X๋ O๊ฐ ์ด๊ธด์ํ๋ก ์ผ์ฐ ๋๋๊ฑฐ๋, ๋น๊ธด์ํ๋ก X๊ฐ 5, O๊ฐ 4์ผ๋์ ๊ฒฝ์ฐ๋ง Valid๊ฐ ๋๋ ๊ฒ์ด..
2022.11.16 -
๋ฐฑ์ค - 0 ๋ง๋ค๊ธฐ(Swift)
๋ฐฑ์ค - 0 ๋ง๋ค๊ธฐ(Swift) ๋ฌธ์ ์ค๋ช https://www.acmicpc.net/problem/7490 7490๋ฒ: 0 ๋ง๋ค๊ธฐ ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด ASCII ์์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ 0์ด ๋๋ ๋ชจ๋ ์์์ ์ถ๋ ฅํ๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๊ฒฐ๊ณผ๋ ํ ์ค์ ๋์ ๊ตฌ๋ถํ๋ค. www.acmicpc.net ๋์ ํ์ด ์ฒ์ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ํ ์คํธ์ผ์ด์ค์ N์ ๋ฒ์๊ฐ 10์ดํ์ธ ๊ฒ์ ํ์ธํ๊ณ +, -, ๊ณต๋ฐฑ 3๊ฐ์ง์ ๊ฒฝ์ฐ์ด๊ธฐ ๋๋ฌธ์ DFS๋ก ์ฌ๊ท๋ฅผ ๋๋ ค์ผ๊ฒ ๋ค๊ณ ์๊ฐํ๋ค. ๊ตฌํ์ ํ๋ค๊ฐ ํ์ด์ฌ์ evalํจ์๊ฐ ์ค์ํํธ์๋ ๋ฐ๋ก ๋ด์ฅ๋์ด์์ง ์์์ ์ด๋ฅผ ์ด๋ป๊ฒ ๊ตฌํํ ์ง ๊ณ ๋ฏผํด์ผํ๋ค. ๊ทธ๋์ ์ซ์๊ฐ ์๋๊ฒ๋ค๊ณผ ์ซ์์ธ ๊ฒ๋ค๋ก ๋ถ๋ฆฌ๋ฅผ ์ํจ ๋ค ์คํ์ ์ ์ฅํด์ ์ฐ์ฐ์ ํ๋๋ก ํ๋ค. ๋ง์ง๋ง์ผ๋ก ์์คํค์ฝ๋ ์์ผ๋ก ์ถ๋ ฅ์ด๋์ด์ผ ํ๊ธฐ..
2022.11.16