๐ป Algorithm
-
[Python] ๋ฐฑ์ค 16206 ๋กค์ผ์ดํฌ (Greedy)๐ป Algorithm/Python 2022. 7. 8. 19:41
๐ ๋ฌธ์ ์ค๋์ ์ฌํ์ด์ ์์ผ์ด๋ค. ์ฌํ์ด๋ ์น๊ตฌ N๋ช ์๊ฒ ๋กค์ผ์ดํฌ๋ฅผ 1๊ฐ์ฉ ์ ๋ฌผ๋ก ๋ฐ์๋ค. ๋กค์ผ์ดํฌ์ ๊ธธ์ด๋ A1, A2, ..., AN์ด๋ค. ์ฌํ์ด๋ ๊ธธ์ด๊ฐ 10์ธ ๋กค์ผ์ดํฌ๋ง ๋จน๋๋ค. ๋ฐ๋ผ์, ๋กค์ผ์ดํฌ๋ฅผ ์๋ผ์ ๊ธธ์ด๊ฐ 10์ธ ๋กค์ผ์ดํฌ๋ฅผ ์ต๋ํ ๋ง์ด ๋ง๋ค๋ ค๊ณ ํ๋ค. ๋กค์ผ์ดํฌ๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ ํตํด์ ์๋ฅผ ์ ์๋ค. ์๋ฅผ ๋กค์ผ์ดํฌ๋ฅผ ํ๋ ๊ณ ๋ฅธ๋ค. ๊ธธ์ด๊ฐ 1๋ณด๋ค ํฐ ๋กค์ผ์ดํฌ๋ง ์๋ฅผ ์ ์๋ค. ์ด๋, ๊ณ ๋ฅธ ๋กค์ผ์ดํฌ์ ๊ธธ์ด๋ฅผ x๋ผ๊ณ ํ๋ค. 0๋ณด๋ค ํฌ๊ณ , x๋ณด๋ค ์์ ์์ฐ์ y๋ฅผ ๊ณ ๋ฅธ๋ค. ๋กค์ผ์ดํฌ๋ฅผ ์๋ผ ๊ธธ์ด๊ฐ y, x-y์ธ ๋กค์ผ์ดํฌ ๋ ๊ฐ๋ก ๋ง๋ ๋ค. ์ฌํ์ด๋ ๋กค์ผ์ดํฌ๋ฅผ ์ต๋ M๋ฒ ์๋ฅผ ์ ์๋ค. ์ด๋, ๋ง๋ค ์ ์๋ ๊ธธ์ด๊ฐ 10์ธ ๋กค์ผ์ดํฌ ๊ฐ์์ ์ต๋๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋กค์ผ..
-
[Python] ๋ฐฑ์ค 4358 ์ํํ (Counter)๐ป Algorithm/Python 2022. 7. 8. 19:35
๐ ๋ฌธ์ ์ํํ์์ ๋๋ฌด์ ๋ถํฌ๋๋ฅผ ์ธก์ ํ๋ ๊ฒ์ ์ค์ํ๋ค. ๊ทธ๋ฌ๋ฏ๋ก ๋น์ ์ ๋ฏธ๊ตญ ์ ์ญ์ ๋๋ฌด๋ค์ด ์ฃผ์ด์ก์ ๋, ๊ฐ ์ข ์ด ์ ์ฒด์์ ๋ช %๋ฅผ ์ฐจ์งํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ผ ํ๋ค. ์ ๋ ฅ ํ๋ก๊ทธ๋จ์ ์ฌ๋ฌ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์์ผ๋ฉฐ, ํ ์ค์ ํ๋์ ๋๋ฌด ์ข ์ด๋ฆ์ด ์ฃผ์ด์ง๋ค. ์ด๋ค ์ข ์ด๋ฆ๋ 30๊ธ์๋ฅผ ๋์ง ์์ผ๋ฉฐ, ์ ๋ ฅ์๋ ์ต๋ 10,000๊ฐ์ ์ข ์ด ์ฃผ์ด์ง๊ณ ์ต๋ 1,000,000๊ทธ๋ฃจ์ ๋๋ฌด๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฃผ์ด์ง ๊ฐ ์ข ์ ์ด๋ฆ์ ์ฌ์ ์์ผ๋ก ์ถ๋ ฅํ๊ณ , ๊ทธ ์ข ์ด ์ฐจ์งํ๋ ๋น์จ์ ๋ฐฑ๋ถ์จ๋ก ์์์ 4์งธ์๋ฆฌ๊น์ง ๋ฐ์ฌ๋ฆผํด ํจ๊ป ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 Red Alder Ash Aspen Basswood Ash Beech Yellow Birch Ash Cherry Cottonwood Ash Cypress Red El..
-
[Python] ๋ฐฑ์ค 19637 IF๋ฌธ ์ข ๋์ ์จ์ค (Binary Search)๐ป Algorithm/Python 2022. 7. 8. 19:33
๐ ๋ฌธ์ ๊ฒ์ ๊ฐ๋ฐ์์ธ ๋ฐ๋ฆฌ๋ ์ ํฌ๋ ฅ ์์คํ ์ ๋ง๋ค์ด, ์บ๋ฆญํฐ๊ฐ ๊ฐ์ง ์ ํฌ๋ ฅ์ ๊ธฐ์ค์ผ๋ก ์นญํธ๋ฅผ ๋ถ์ฌ์ฃผ๋ ค๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, ์ ํฌ๋ ฅ 10,000 ์ดํ์ ์บ๋ฆญํฐ๋ WEAK, 10,000 ์ด๊ณผ ๊ทธ๋ฆฌ๊ณ 100,000 ์ดํ์ ์บ๋ฆญํฐ๋ NORMAL, 100,000 ์ด๊ณผ ๊ทธ๋ฆฌ๊ณ 1,000,000 ์ดํ์ ์บ๋ฆญํฐ๋ STRONG ์นญํธ๋ฅผ ๋ถ์ฌ์ค๋ค๊ณ ํ์. ์ด๋ฅผ IF๋ฌธ์ผ๋ก ์์ฑํ๋ค๋ฉด ์๋์ ๊ฐ์ด ๊ตฌํํ ์ ์๋ค. if power
-
[Python] ๋ฐฑ์ค 16953 A → B (Greedy/BFS)๐ป Algorithm/Python 2022. 7. 8. 19:27
๐ ๋ฌธ์ ์ A๋ฅผ B๋ก ๋ฐ๊พธ๋ ค๊ณ ํ๋ค. ๊ฐ๋ฅํ ์ฐ์ฐ์ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง์ด๋ค. 2๋ฅผ ๊ณฑํ๋ค. 1์ ์์ ๊ฐ์ฅ ์ค๋ฅธ์ชฝ์ ์ถ๊ฐํ๋ค. A๋ฅผ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ์ต์๊ฐ์ ๊ตฌํด๋ณด์. ์ ๋ ฅ ์ฒซ์งธ ์ค์ A, B (1 ≤ A < B ≤ 109)๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ A๋ฅผ B๋ก ๋ฐ๊พธ๋๋ฐ ํ์ํ ์ฐ์ฐ์ ์ต์๊ฐ์ 1์ ๋ํ ๊ฐ์ ์ถ๋ ฅํ๋ค. ๋ง๋ค ์ ์๋ ๊ฒฝ์ฐ์๋ -1์ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 2 162 2 → 4 → 8 → 81 → 162 ์์ ์ถ๋ ฅ 1 5 ์์ ์ ๋ ฅ 2 4 42 ์์ ์ถ๋ ฅ 2 -1 ์์ ์ ๋ ฅ 3 100 40021 100 → 200 → 2001 → 4002 → 40021 ์์ ์ถ๋ ฅ 3 5 ๐ ํ์ด ๐ฌ Greedy Code import sys input = sys.stdin.readline a, b ..
-
[Python] ๋ฐฑ์ค 15787 ๊ธฐ์ฐจ๊ฐ ์ด๋ ์ ํค์น๊ณ ์ํ์๋ฅผ (๊ตฌํ)๐ป Algorithm/Python 2022. 7. 8. 19:23
๐ ๋ฌธ์ N๊ฐ์ ๊ธฐ์ฐจ๊ฐ ์ด๋ ์ ํค์น๊ณ ์ํ์๋ฅผ ๊ฑด๋๋ ค๊ณ ํ๋ค. ๊ธฐ์ฐจ๋ 20๊ฐ์ ์ผ๋ ฌ๋ก ๋ ์ข์์ด ์๊ณ , ํ ๊ฐ์ ์ข์์๋ ํ ๋ช ์ ์ฌ๋์ด ํ ์ ์๋ค. ๊ธฐ์ฐจ์ ๋ฒํธ๋ฅผ 1๋ฒ๋ถํฐ N๋ฒ์ผ๋ก ๋งค๊ธธ ๋, ์ด๋ ํ ๊ธฐ์ฐจ์ ๋ํ์ฌ M๊ฐ์ ๋ช ๋ น์ด ์ฃผ์ด์ง๋ค. ๋ช ๋ น์ ์ข ๋ฅ๋ 4๊ฐ์ง๋ก ๋ค์๊ณผ ๊ฐ๋ค. 1 i x : i๋ฒ์งธ ๊ธฐ์ฐจ์(1 ≤ i ≤ N) x๋ฒ์งธ ์ข์์(1 ≤ x ≤ 20) ์ฌ๋์ ํ์๋ผ. ์ด๋ฏธ ์ฌ๋์ด ํ์๋ค๋ฉด , ์๋ฌด๋ฐ ํ๋์ ํ์ง ์๋๋ค. 2 i x : i๋ฒ์งธ ๊ธฐ์ฐจ์ x๋ฒ์งธ ์ข์์ ์์ ์ฌ๋์ ํ์ฐจํ๋ค. ๋ง์ฝ ์๋ฌด๋ ๊ทธ์๋ฆฌ์ ์์์์ง ์์๋ค๋ฉด, ์๋ฌด๋ฐ ํ๋์ ํ์ง ์๋๋ค. 3 i : i๋ฒ์งธ ๊ธฐ์ฐจ์ ์์์๋ ์น๊ฐ๋ค์ด ๋ชจ๋ ํ์นธ์ฉ ๋ค๋ก๊ฐ๋ค. k๋ฒ์งธ ์์ ์ฌ๋์ k+1๋ฒ์งธ๋ก ์ด๋ํ์ฌ ์๋๋ค. ๋ง์ฝ 20๋ฒ์งธ ์๋ฆฌ์ ์ฌ๋์ด..
-
[Python] ๋ฐฑ์ค 11286 ์ ๋๊ฐ ํ (Heapq)๐ป Algorithm/Python 2022. 7. 8. 19:19
๐ ๋ฌธ์ ์ ๋๊ฐ ํ์ ๋ค์๊ณผ ๊ฐ์ ์ฐ์ฐ์ ์ง์ํ๋ ์๋ฃ๊ตฌ์กฐ์ด๋ค. ๋ฐฐ์ด์ ์ ์ x (x ≠ 0)๋ฅผ ๋ฃ๋๋ค. ๋ฐฐ์ด์์ ์ ๋๊ฐ์ด ๊ฐ์ฅ ์์ ๊ฐ์ ์ถ๋ ฅํ๊ณ , ๊ทธ ๊ฐ์ ๋ฐฐ์ด์์ ์ ๊ฑฐํ๋ค. ์ ๋๊ฐ์ด ๊ฐ์ฅ ์์ ๊ฐ์ด ์ฌ๋ฌ๊ฐ์ผ ๋๋, ๊ฐ์ฅ ์์ ์๋ฅผ ์ถ๋ ฅํ๊ณ , ๊ทธ ๊ฐ์ ๋ฐฐ์ด์์ ์ ๊ฑฐํ๋ค. ํ๋ก๊ทธ๋จ์ ์ฒ์์ ๋น์ด์๋ ๋ฐฐ์ด์์ ์์ํ๊ฒ ๋๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ฐ์ฐ์ ๊ฐ์ N(1≤N≤100,000)์ด ์ฃผ์ด์ง๋ค. ๋ค์ N๊ฐ์ ์ค์๋ ์ฐ์ฐ์ ๋ํ ์ ๋ณด๋ฅผ ๋ํ๋ด๋ ์ ์ x๊ฐ ์ฃผ์ด์ง๋ค. ๋ง์ฝ x๊ฐ 0์ด ์๋๋ผ๋ฉด ๋ฐฐ์ด์ x๋ผ๋ ๊ฐ์ ๋ฃ๋(์ถ๊ฐํ๋) ์ฐ์ฐ์ด๊ณ , x๊ฐ 0์ด๋ผ๋ฉด ๋ฐฐ์ด์์ ์ ๋๊ฐ์ด ๊ฐ์ฅ ์์ ๊ฐ์ ์ถ๋ ฅํ๊ณ ๊ทธ ๊ฐ์ ๋ฐฐ์ด์์ ์ ๊ฑฐํ๋ ๊ฒฝ์ฐ์ด๋ค. ์ ๋ ฅ๋๋ ์ ์๋ -231๋ณด๋ค ํฌ๊ณ , 231๋ณด๋ค ์๋ค. ์ถ๋ ฅ ์ ๋ ฅ์์ 0์ด ์ฃผ์ด์ง ..
-
[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)๊ฐ ์ ๋ ฅ๋๋ค. ์ถ๋ ฅ ์ฒซ ๋ฒ์งธ ์ค์๋ ์ด ๋จ์ง์๋ฅผ ์ถ๋ ฅํ์์ค. ๊ทธ๋ฆฌ๊ณ ..