๐ป Algorithm/Python
-
[Python] ๋ฐฑ์ค 1541 ์์ด๋ฒ๋ฆฐ ๊ดํธ (Greedy)๐ป Algorithm/Python 2022. 7. 8. 19:48
๐ ๋ฌธ์ ์ธ์ค์ด๋ ์์์ +, -, ๊ทธ๋ฆฌ๊ณ ๊ดํธ๋ฅผ ๊ฐ์ง๊ณ ์์ ๋ง๋ค์๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ธ์ค์ด๋ ๊ดํธ๋ฅผ ๋ชจ๋ ์ง์ ๋ค. ๊ทธ๋ฆฌ๊ณ ๋์ ์ธ์ค์ด๋ ๊ดํธ๋ฅผ ์ ์ ํ ์ณ์ ์ด ์์ ๊ฐ์ ์ต์๋ก ๋ง๋ค๋ ค๊ณ ํ๋ค. ๊ดํธ๋ฅผ ์ ์ ํ ์ณ์ ์ด ์์ ๊ฐ์ ์ต์๋ก ๋ง๋๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ด ์ฃผ์ด์ง๋ค. ์์ ‘0’~‘9’, ‘+’, ๊ทธ๋ฆฌ๊ณ ‘-’๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๊ฐ์ฅ ์ฒ์๊ณผ ๋ง์ง๋ง ๋ฌธ์๋ ์ซ์์ด๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ์ํด์ ๋ ๊ฐ ์ด์์ ์ฐ์ฐ์๊ฐ ๋ํ๋์ง ์๊ณ , 5์๋ฆฌ๋ณด๋ค ๋ง์ด ์ฐ์๋๋ ์ซ์๋ ์๋ค. ์๋ 0์ผ๋ก ์์ํ ์ ์๋ค. ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์์ ๊ธธ์ด๋ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์ ๋ต์ ์ถ๋ ฅํ๋ค. ์์ ์ ๋ ฅ 1 55-50+40 ์์ ์ถ๋ ฅ 1 -35 ์์ ์ ๋ ฅ 2 10+20+30+40 ์์ ์ถ๋ ฅ..
-
[Python] ๋ฐฑ์ค 1012 ์ ๊ธฐ๋ ๋ฐฐ์ถ (BFS)๐ป Algorithm/Python 2022. 7. 8. 19:44
๐ ๋ฌธ์ ์ฐจ์ธ๋ ์๋์ธ ํ๋๋ ๊ฐ์๋ ๊ณ ๋ญ์ง์์ ์ ๊ธฐ๋ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๊ธฐ๋ก ํ์๋ค. ๋์ฝ์ ์ฐ์ง ์๊ณ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ค๋ฉด ๋ฐฐ์ถ๋ฅผ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธํ๋ ๊ฒ์ด ์ค์ํ๊ธฐ ๋๋ฌธ์, ํ๋๋ ํด์ถฉ ๋ฐฉ์ง์ ํจ๊ณผ์ ์ธ ๋ฐฐ์ถํฐ์ง๋ ์ด๋ฅผ ๊ตฌ์ ํ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค. ์ด ์ง๋ ์ด๋ ๋ฐฐ์ถ๊ทผ์ฒ์ ์์ํ๋ฉฐ ํด์ถฉ์ ์ก์ ๋จน์์ผ๋ก์จ ๋ฐฐ์ถ๋ฅผ ๋ณดํธํ๋ค. ํนํ, ์ด๋ค ๋ฐฐ์ถ์ ๋ฐฐ์ถํฐ์ง๋ ์ด๊ฐ ํ ๋ง๋ฆฌ๋ผ๋ ์ด๊ณ ์์ผ๋ฉด ์ด ์ง๋ ์ด๋ ์ธ์ ํ ๋ค๋ฅธ ๋ฐฐ์ถ๋ก ์ด๋ํ ์ ์์ด, ๊ทธ ๋ฐฐ์ถ๋ค ์ญ์ ํด์ถฉ์ผ๋ก๋ถํฐ ๋ณดํธ๋ฐ์ ์ ์๋ค. ํ ๋ฐฐ์ถ์ ์ํ์ข์ฐ ๋ค ๋ฐฉํฅ์ ๋ค๋ฅธ ๋ฐฐ์ถ๊ฐ ์์นํ ๊ฒฝ์ฐ์ ์๋ก ์ธ์ ํด์๋ ๊ฒ์ด๋ค. ํ๋๊ฐ ๋ฐฐ์ถ๋ฅผ ์ฌ๋ฐฐํ๋ ๋ ์ ๊ณ ๋ฅด์ง ๋ชปํด์ ๋ฐฐ์ถ๋ฅผ ๊ตฐ๋ฐ๊ตฐ๋ฐ ์ฌ์ด ๋์๋ค. ๋ฐฐ์ถ๋ค์ด ๋ชจ์ฌ์๋ ๊ณณ์๋ ๋ฐฐ์ถํฐ์ง๋ ์ด๊ฐ ํ ๋ง๋ฆฌ๋ง ์์ผ๋ฉด ๋๋ฏ๋ก ์๋ก ์ธ์ ํด์๋ ๋ฐฐ์ถ๋ค์ด ๋ช..
-
[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์ด ์ฃผ์ด์ง ..