๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/14938 14938๋ฒ: ์๊ฐ๊ทธ๋ผ์ด๋ ์์์ด๋ ์์ฆ ๊ฐ์ฅ ์ธ๊ธฐ๊ฐ ์๋ ๊ฒ์ ์๊ฐ๊ทธ๋ผ์ด๋๋ฅผ ์ฆ๊ธฐ๊ณ ์๋ค. ์๊ฐ๊ทธ๋ผ์ด๋๋ ์ฌ๋ฌ ์ง์ญ์ค ํ๋์ ์ง์ญ์ ๋ํ์ฐ์ ํ๊ณ ๋ํํ์ฌ, ๊ทธ ์ง์ญ์ ๋จ์ด์ ธ ์๋ ์์ดํ
๋ค์ ์ด์ฉํด ์๋ฐ์ด๋ฒ์ www.acmicpc.net ์กฐ๊ฑด๋ง ์ ์๊ฐํ๋ฉด ๋๋ ์ฐฉํ ๋ฌธ์ . ์์ด๋์ด 1. ๋ค์ต์คํธ๋ผ ์ถ๋ฐ์ง๋ก ๋ถํฐ ์ต๋จ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐํด์ ์์ ๋ฒ์์์ ๋ค์ด๊ฐ๋์ง ํ์ธํ๋ฉด ๋๋ค. ์์ ๋ฒ์์์ ๋ค์ด์ค๋ฉด ์์ดํ
๊ฐ์๋ฅผ ๋ํด์ฃผ๋ฉด ๋๋ค. 1 ~ n๊น์ง for๋ฌธ์ผ๋ก ์ถ๋ฐ์ง๋ฅผ ๋ฐ๊พธ๋ฉด์ ํ์ํ๋ฉด ๋๋ค. 2. ํ๋ก์ด๋ ์์
์ง์ญ์ ๊ฐ์(100)๊ฐ ์ ์ผ๋ฏ๋ก ํ๋ก์ด๋ ์์
๋ก ํ์ด๋ ์๊ฐ์ด๊ณผ์ ๊ฑธ๋ฆฌ์ง ์๋๋ค. ์ ์ฒด ์ฝ๋ ๋ค์ต์คํธ๋ผ import heapq imp..
๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/11660 11660๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 5 ์ฒซ์งธ ์ค์ ํ์ ํฌ๊ธฐ N๊ณผ ํฉ์ ๊ตฌํด์ผ ํ๋ ํ์ M์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ํ์ ์ฑ์์ ธ ์๋ ์๊ฐ 1ํ๋ถํฐ ์ฐจ๋ก๋๋ก ์ฃผ์ด์ง๋ค. ๋ค์ M๊ฐ์ ์ค์๋ ๋ค www.acmicpc.net ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 2์ฐจ์ ๋ฒ์ ์์ด๋์ด 1. ๋์ ํฉ ์ฌ์ฉ ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4์ ์ ์ฌํ๊ฒ ํ์๋ค ๋จผ์ (0 ,0)์์ (x , y)๊น์ง์ ํฉ์ arr [x][y]์ ์ ์ฅํ๋ค. ๊ทธ๋ผ ์๋์ ๊ฐ์ ๋ฆฌ์คํธ๋ฅผ ๋ง๋ค ์ ์๋ค. ์ด๊ฑธ ์ฌ์ฉํด์ ๊ตฌ๊ฐ ํฉ์ ๊ตฌํ๋ฉด ๋๋ค. ์๋ฅผ ๋ค์ด (1, 1)์์ (2, 3)๊น์ง ๊ตฌํ๋ ค๋ฉด(๋ฌธ์ ์์๋ 2,2 ~ 3,4) arr [2][3]..
๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/10942 10942๋ฒ: ํฐ๋ฆฐ๋๋กฌ? ์ด M๊ฐ์ ์ค์ ๊ฑธ์ณ ํ์ค์ด์ ์ง๋ฌธ์ ๋ํ ๋ช
์ฐ์ ๋ต์ ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง ์์์ ๋ฐ๋ผ์ ์ถ๋ ฅํ๋ค. ํฐ๋ฆฐ๋๋กฌ์ธ ๊ฒฝ์ฐ์๋ 1, ์๋ ๊ฒฝ์ฐ์๋ 0์ ์ถ๋ ฅํ๋ค. www.acmicpc.net ๋ฐฐ์ด์์ i๋ถํฐ j๊น์ง๊ฐ ํฐ๋ฆฐ๋๋กฌ์ธ์ง ์๋์ง ์ฌ๋ฌ ๋ฒ ํ์ธํ๋ ๋ฌธ์ . ์์ด๋์ด 1. dp ๊ฐ๋จํ๊ฒ ๋ฆฌ์คํธ ์ฌ๋ผ์ด์ฑ์ผ๋ก๋ ์๊ฐ ์ด๊ณผ๊ฐ ๋์ dp๋ฅผ ์ฌ์ฉ i๋ฒ์งธ๋ถํฐ j๊น์ง์ ์๊ฐ ํฐ๋ฆฐ๋๋กฌ์ธ์ง ํ์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ ์ฅํ๊ธฐ ์ํด ์ด์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ์ฌ์ฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค. 2. ์ ํ์ ๋จผ์ ๋ฌด์กฐ๊ฑด ํฐ๋ฆฐ๋๋กฌ์ธ i๋ถํฐ i๊น์ง์ ์๋ 1๋ก ์ ์ฅํด๋๋ค. ๊ทธ๋ฆฌ๊ณ i๋ฒ์งธ ์์ i + 1๋ฒ์งธ ์๊ฐ ๊ฐ์ผ๋ฉด ํฐ๋ฆฐ๋๋กฌ์ด๋๊น ์ด๊ฒ๋ 1๋ก ์ ์ฅ. ์ ํ์์ ์ด๋ฏธ ํฐ๋ฆฐ๋๋กฌ์ธ ์ ..
๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/1647 1647๋ฒ: ๋์ ๋ถํ ๊ณํ ์ฒซ์งธ ์ค์ ์ง์ ๊ฐ์ N, ๊ธธ์ ๊ฐ์ M์ด ์ฃผ์ด์ง๋ค. N์ 2์ด์ 100,000์ดํ์ธ ์ ์์ด๊ณ , M์ 1์ด์ 1,000,000์ดํ์ธ ์ ์์ด๋ค. ๊ทธ ๋ค์ ์ค๋ถํฐ M์ค์ ๊ฑธ์ณ ๊ธธ์ ์ ๋ณด๊ฐ A B C ์ธ ๊ฐ์ ์ ์๋ก ์ฃผ์ด์ง๋๋ฐ A๋ฒ www.acmicpc.net ๋์ด๋์ ๋นํด ๋งค์ฐ ๊ฐ๊ฒฐํ ๋ฌธ์ ๋ค. ๋์ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ๊ณผ ์ ๋์จ ํ์ธ๋์ ๋ํด ์๊ณ ์์ด์ผ ํ๋ค. ์์ด๋์ด 1. ๋ง์์ ๋ ๊ฐ๋ก ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ ๋ํด ์ ๊ธฐ์ตํ๊ณ ์๋ค๋ฉด ์ฝ๊ฒ ๋ ์ฌ๋ฆด ์ ์๋ค. ํฌ๋ฃจ์ค์นผ ์๊ณ ๋ฆฌ์ฆ์ผ๋ก ์ต์ ์คํจ๋ ํธ๋ฆฌ๋ฅผ ๋ง๋ค๊ณ ์ฌ๊ธฐ์ ๋น์ฉ์ด ๊ฐ์ฅ ํฐ ๊ฐ์ ์ ์๋ผ์ฃผ๋ฉด ๋๋ค. ์ต์ ์คํจ๋ ํธ๋ฆฌ์์๋ ์ฌ์ดํด์ด ์กด์ฌํ์ง ์๋๋ค. ๊ทธ..
๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/1644 1644๋ฒ: ์์์ ์ฐ์ํฉ ์ฒซ์งธ ์ค์ ์์ฐ์ N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 4,000,000) www.acmicpc.net ์ ๋ฒ์ ํผ ๋ถ๋ถํฉ ๋ฌธ์ ์ ์์ ๋ฒ์ . ๋น์ทํ ๋ฌธ์ ์ฌ์ ๊ธ๋ฐฉ ํด๊ฒฐ ๊ฐ๋ฅํ๋ค. ์์ด๋์ด 1. ์์ ์ฐพ๊ธฐ ์๊ฐ ๋ณต์ก๋๊ฐ ๋น ๋ฅธ ์๋ผํ ์คํ
๋ค์ค์ ์ฒด ๋ฐฉ๋ฒ์ผ๋ก ์์๋ฅผ ์ฐพ์๋ค. 2. ์์์ ์ฐ์ํฉ ๋ถ๋ถํฉ ๋ฌธ์ ์ ์ ์ฌํ๊ฒ ํฌ ํฌ์ธํฐ๋ฅผ ์ฌ์ฉํด์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ฐพ์๋ค. ์ ์ฒด ์ฝ๋ import math n = int(input()) if n == 1: print(0) exit(0) arr = [True] * (n + 1) arr[0] = False arr[1] = False for i in range(2, int(math.sqrt(n)+..
๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/9466 9466๋ฒ: ํ
ํ๋ก์ ํธ ์ด๋ฒ ๊ฐ์ํ๊ธฐ์ '๋ฌธ์ ํด๊ฒฐ' ๊ฐ์๋ฅผ ์ ์ฒญํ ํ์๋ค์ ํ
ํ๋ก์ ํธ๋ฅผ ์ํํด์ผ ํ๋ค. ํ๋ก์ ํธ ํ์ ์์๋ ์ ํ์ด ์๋ค. ์ฌ์ง์ด ๋ชจ๋ ํ์๋ค์ด ๋์ผํ ํ์ ํ์์ธ ๊ฒฝ์ฐ์ ๊ฐ์ด ํ ํ๋ง ์์ www.acmicpc.net ์๊ฐ์ ํ 3์ด๋ก ๋งค์ฐ ๊ธธ์ง๋ง ๋๋ฌด ๋ณต์กํ์ง ์์ ๋ฌธ์ . ์๋ง ํ
์คํธ ์ผ์ด์ค๊ฐ ์ฌ๋ฌ ๊ฐ๋ผ์ ์๊ฐ์ ํ์ ๋๋ํ๊ฒ ๋ ๊ฑฐ ๊ฐ๋ค. ์์ด๋์ด 1. ๊ทธ๋ํ ์ผ๋จ ๋ณด์๋ง์ ๊ทธ๋ํ๋ฅผ ์จ์ผ ํ๋ค๊ณ ์๊ฐํ๋ค. ๋ฌธ์ ์กฐ๊ฑด์์ ํ์ด ๋๋ ค๋ฉด ์๋ก๊ฐ ๊ผฌ๋ฆฌ๋ฅผ ๋ฌผ๋ฏ ์ฌ์ดํด์ด ์๊ฒจ์ผ ํ๋ค. ๊ทธ๋ผ ์ด ๋ฌธ์ ๋ ๊ทธ๋ํ์์ '์ฌ์ดํด์ ์ด๋ป๊ฒ ์ฐพ๊ณ ํ๋ณํ๋'์ ๋ํด์ ์๊ฐํ๋ฉด ๋๋ค. 2. dfs ๋ฐฉ๋ฌธ ์ ๋ฌด๋ฅผ ํตํด ์ฌ์ดํด์ด ์๊ฒผ๋์ง ์ ์๊ฒผ๋..
๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/1806 1806๋ฒ: ๋ถ๋ถํฉ ์ฒซ์งธ ์ค์ N (10 ≤ N < 100,000)๊ณผ S (0 < S ≤ 100,000,000)๊ฐ ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์์ด์ด ์ฃผ์ด์ง๋ค. ์์ด์ ๊ฐ ์์๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ธ ์์ผ๋ฉฐ, 10,000์ดํ์ ์์ฐ์์ด๋ค. www.acmicpc.net ์์ด๋์ด 1. ๋ถ๋ถํฉ ์ฌ์ฉ ๋ถ๋ถํฉ์ ๋ํด ๊ฐ๋จํ ์๊ธฐํด๋ณด๋ฉด 0 ~ N๊น์ง์ ํฉ์ ๋ฏธ๋ฆฌ ๊ตฌํด๋๊ณ ํฉ์ ์ฐจ((0 ~ b๊น์ง ํฉ) - (0 ~ a๊น์ง ํฉ))๋ฅผ ํตํด a๋ถํฐ b๊น์ง ์์ ํฉ์ ๋น ๋ฅด๊ฒ ๊ตฌํ๋ ๋ฐฉ๋ฒ์ด๋ค. ๊ทธ๋์ for๋ฌธ์ ์ฌ์ฉํด์ ๊ธธ์ด๊ฐ 1์ผ ๋, 2์ผ ๋... N์ผ ๋ ๋ถ๋ถํฉ์ ๊ฐ์ ๊ตฌํด๋ณด๋ฉฐ S๊ฐ์ด ๋๋ ์๊ฐ ํ๋ก๊ทธ๋จ์ ์ข
๋ฃํ๋๋ก ์ฝ๋๋ฅผ ์งฐ๋ค. ๋น์ฐํ๊ฒ๋ ์๊ฐ ์ด๊ณผ๊ฐ ๋ด๋ค. ..
๐งฉ Problem Solving/[๋ฐฑ์ค]
https://www.acmicpc.net/problem/1504 1504๋ฒ: ํน์ ํ ์ต๋จ ๊ฒฝ๋ก ์ฒซ์งธ ์ค์ ์ ์ ์ ๊ฐ์ N๊ณผ ๊ฐ์ ์ ๊ฐ์ E๊ฐ ์ฃผ์ด์ง๋ค. (2 ≤ N ≤ 800, 0 ≤ E ≤ 200,000) ๋์งธ ์ค๋ถํฐ E๊ฐ์ ์ค์ ๊ฑธ์ณ์ ์ธ ๊ฐ์ ์ ์ a, b, c๊ฐ ์ฃผ์ด์ง๋๋ฐ, a๋ฒ ์ ์ ์์ b๋ฒ ์ ์ ๊น์ง ์๋ฐฉํฅ ๊ธธ์ด ์กด www.acmicpc.net ์์ด๋์ด 1. ๊ฐ์ค์น๊ฐ ์๋ ๊ทธ๋ํ ๋ค์ต์คํธ๋ผ ์๋๋ฉด ํ๋ก์ด๋ ๋ ๊ฐ๋ฅผ ์๊ฐํ๋ค. ๋์ ์ v1, v2๋ฅผ ์ง๋๋ ์ต๋จ๊ฒฝ๋ก๋ ๊ฐ๊ฐ์ ์ต๋จ๊ฒฝ๋ก๋ค์ ๋ํ ๊ฒ๊ณผ ๊ฐ์ผ๋ฏ๋ก ๋ค์ต์คํธ๋ผ๋ฅผ ์ฌ๋ฌ ๋ฒ ์ฌ์ฉํ๋ฉด ๋๋ค. '1 -> N' = '1 -> v1' + 'v1 -> v2' + 'v2 ->N' ๊ฐ์ด ๊ณ์ฐํด์ ๋ ์ ์ ์ ์ง๋๋ ์ต๋จ๊ฒฝ๋ก๋ฅผ ๊ตฌํ๋ค. ๋ฃจํธ๋ 1 -> v1 -..