
Algorithm/๐ Baekjoon Judge

[BOJ] ๋ฐฑ์ค 14503๋ฒ ๋ก๋ด ์ฒญ์๊ธฐ - ํ์ด์ฌ(Python)
๋ฌธ์ ๋ก๋ด ์ฒญ์๊ธฐ๊ฐ ์ฃผ์ด์ก์ ๋, ์ฒญ์ํ๋ ์์ญ์ ๊ฐ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ก๋ด ์ฒญ์๊ธฐ๊ฐ ์๋ ์ฅ์๋ N×M ํฌ๊ธฐ์ ์ง์ฌ๊ฐํ์ผ๋ก ๋ํ๋ผ ์ ์์ผ๋ฉฐ, 1×1ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ ์นธ์ผ๋ก ๋๋์ด์ ธ ์๋ค. ๊ฐ๊ฐ์ ์นธ์ ๋ฒฝ ๋๋ ๋น ์นธ์ด๋ค. ์ฒญ์๊ธฐ๋ ๋ฐ๋ผ๋ณด๋ ๋ฐฉํฅ์ด ์์ผ๋ฉฐ, ์ด ๋ฐฉํฅ์ ๋, ์, ๋จ, ๋ถ์ค ํ๋์ด๋ค. ์ง๋์ ๊ฐ ์นธ์ (r, c)๋ก ๋ํ๋ผ ์ ์๊ณ , r์ ๋ถ์ชฝ์ผ๋ก๋ถํฐ ๋จ์ด์ง ์นธ์ ๊ฐ์, c๋ ์์ชฝ์ผ๋ก ๋ถํฐ ๋จ์ด์ง ์นธ์ ๊ฐ์์ด๋ค. ๋ก๋ด ์ฒญ์๊ธฐ๋ ๋ค์๊ณผ ๊ฐ์ด ์๋ํ๋ค. ํ์ฌ ์์น๋ฅผ ์ฒญ์ํ๋ค. ํ์ฌ ์์น์์ ํ์ฌ ๋ฐฉํฅ์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ๋ฐฉํฅ๋ถํฐ ์ฐจ๋ก๋๋ก ์ธ์ ํ ์นธ์ ํ์ํ๋ค. ์ผ์ชฝ ๋ฐฉํฅ์ ์์ง ์ฒญ์ํ์ง ์์ ๊ณต๊ฐ์ด ์กด์ฌํ๋ค๋ฉด, ๊ทธ ๋ฐฉํฅ์ผ๋ก ํ์ ํ ๋ค์ ํ ์นธ์ ์ ์งํ๊ณ 1๋ฒ๋ถํฐ ์งํํ๋ค. ์ผ์ชฝ ๋ฐฉํฅ..

[BOJ] ๋ฐฑ์ค 17609๋ฒ ํ๋ฌธ - ํ์ด์ฌ(Python)
๋ฌธ์ ํ๋ฌธ(ๅๆ) ๋๋ ํฐ๋ฆฐ๋๋กฌ(palindrome)์ ์ ๋ค ๋ฐฉํฅ์ผ๋ก ๋ณผ ๋ ๊ฐ์ ์์์ ๋ฌธ์๋ก ๊ตฌ์ฑ๋ ๋ฌธ์์ด์ ๋งํ๋ค. ์๋ฅผ ๋ค์ด ‘abba’ ‘kayak’, ‘reviver’, ‘madam’์ ๋ชจ๋ ํ๋ฌธ์ด๋ค. ๋ง์ผ ๊ทธ ์์ฒด๋ ํ๋ฌธ์ด ์๋์ง๋ง ํ ๋ฌธ์๋ฅผ ์ญ์ ํ์ฌ ํ๋ฌธ์ผ๋ก ๋ง๋ค ์ ์๋ ๋ฌธ์์ด์ด๋ผ๋ฉด ์ฐ๋ฆฌ๋ ์ด๋ฐ ๋ฌธ์์ด์ “์ ์ฌํ๋ฌธ”(pseudo palindrome)์ด๋ผ๊ณ ๋ถ๋ฅธ๋ค. ์๋ฅผ ๋ค์ด ‘summuus’๋ 5๋ฒ์งธ๋ ํน์ 6๋ฒ์งธ ๋ฌธ์ ‘u’๋ฅผ ์ ๊ฑฐํ์ฌ ‘summus’์ธ ํ๋ฌธ์ด ๋๋ฏ๋ก ์ ์ฌํ๋ฌธ์ด๋ค. ์ฌ๋ฌ๋ถ์ ์ ์๋ ๋ฌธ์์ด์ ๋ถ์ํ์ฌ ๊ทธ๊ฒ์ด ๊ทธ ์์ฒด๋ก ํ๋ฌธ์ธ์ง, ๋๋ ํ ๋ฌธ์๋ฅผ ์ญ์ ํ๋ฉด ํ๋ฌธ์ด ๋๋ “์ ์ฌํ๋ฌธ”์ธ์ง, ์๋๋ฉด ํ๋ฌธ์ด๋ ์ ์ฌํ๋ฌธ๋ ์๋ ์ผ๋ฐ ๋ฌธ์์ด์ธ์ง๋ฅผ ํ๋จํด์ผ ํ๋ค. ๋ง์ผ ๋ฌธ์์ด ๊ทธ ์์ฒด๋ก..

[BOJ] ๋ฐฑ์ค 16400๋ฒ ์์ ํํ - ํ์ด์ฌ(Python)
๋ฌธ์ ์์๋๋ผ๋ ํน์ดํ๊ฒ ๋ชจ๋ ์์(prime number)๋ฅผ ํํ ๋จ์๋ก ์ฌ์ฉํ๋ค. ์์๋๋ผ์ ๋๋ฌ ์จ ํ๋๋ ๊ด๊ด์ ํ๋ค๊ฐ ๊ฐ๊ฒฉ์ด N์ธ ๋ฌผ๊ฑด์ ๋ฐ๊ฒฌํ๊ณ ๋๋ฌด ๋ง์์ ๋ค์ด 999983์์ ๋ด๊ณ ๊ตฌ๋งคํ๋ ค๊ณ ํ๋ค. ํ์ง๋ง ์์ ์ฃผ์ธ์ด ๊ฑฐ์ค๋ฆ๋์ด ์์ด ์ ํํ N์์ ์ง๋ถํด๋ฌ๋ผ๊ณ ํ์๋ค. ๋ฌผ๊ฑด์ ๊ตฌ๋งคํ๋ ค๋ ํ๋๋ ์์๋๋ผ์ ํํ๋ฅผ ์ด์ฉํ์ฌ N์์ ์ ํํ ๋ง๋ค ์ ์๋ ๋ฐฉ๋ฒ์ ๊ฐ์ง์๊ฐ ์ผ๋ง๋ ๋๋์ง ๊ถ๊ธํด์ก๋ค. ํ๋๋ฅผ ๋์ N์์ ์ง๋ถํ๊ธฐ ์ํ ๊ฐ์ง์๊ฐ ์ผ๋ง๋ ๋๋์ง ๊ตฌํด๋ณด์. ๋จ, ํ๋๋ ์์๋๋ผ์ ๋ชจ๋ ํํ๊ฐ ๋ฌดํ์ ์๋ค๊ณ ๊ฐ์ ํ๋ค. ์ ๋ ฅ ๊ตฌ๋งคํ๋ ค๊ณ ํ๋ ๋ฌผ๊ฑด์ ๊ฐ N(2 ≤ N ≤ 40,000, N์ ์ ์)์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์์๋๋ผ์ ํํ๋ฅผ ์ด์ฉํ์ฌ ์ง๋ถํ ์ ์๋ ๋ฐฉ๋ฒ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๋จ, ์ง๋ถํ ์ ..

[BOJ] ๋ฐฑ์ค 2293๋ฒ ๋์ 1 - ํ์ด์ฌ(Python)
๋ฌธ์ n๊ฐ์ง ์ข ๋ฅ์ ๋์ ์ด ์๋ค. ๊ฐ๊ฐ์ ๋์ ์ด ๋ํ๋ด๋ ๊ฐ์น๋ ๋ค๋ฅด๋ค. ์ด ๋์ ์ ์ ๋นํ ์ฌ์ฉํด์, ๊ทธ ๊ฐ์น์ ํฉ์ด k์์ด ๋๋๋ก ํ๊ณ ์ถ๋ค. ๊ทธ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ์์ค. ๊ฐ๊ฐ์ ๋์ ์ ๋ช ๊ฐ๋ผ๋ ์ฌ์ฉํ ์ ์๋ค. ์ฌ์ฉํ ๋์ ์ ๊ตฌ์ฑ์ด ๊ฐ์๋ฐ, ์์๋ง ๋ค๋ฅธ ๊ฒ์ ๊ฐ์ ๊ฒฝ์ฐ์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ n, k๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) ๋ค์ n๊ฐ์ ์ค์๋ ๊ฐ๊ฐ์ ๋์ ์ ๊ฐ์น๊ฐ ์ฃผ์ด์ง๋ค. ๋์ ์ ๊ฐ์น๋ 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ถ๋ ฅํ๋ค. ๊ฒฝ์ฐ์ ์๋ 231๋ณด๋ค ์๋ค. https://www.acmicpc.net/problem/2293 2293๋ฒ: ๋์ 1 ์ฒซ์งธ ์ค์ n, k๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10..

[BOJ] ๋ฐฑ์ค 3107๋ฒ IPv6 - ํ์ด์ฌ(Python)
๋ฌธ์ IPv6์ ๊ธธ์ด๊ฐ 128๋นํธ์ธ ์ฐจ์ธ๋ ์ธํฐ๋ท ํ๋กํ ์ฝ์ด๋ค. IPv6์ ์ฃผ์๋ 32์๋ฆฌ์ 16์ง์๋ฅผ 4์๋ฆฌ์ฉ ๋์ด ๋ํ๋ธ๋ค. ์ด๋, ๊ฐ ๊ทธ๋ฃน์ ์ฝ๋ก (:)์ผ๋ก ๊ตฌ๋ถํด์ ๋ํ๋ธ๋ค. ์๋ฅผ ๋ค๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค. 2001:0db8:85a3:0000:0000:8a2e:0370:7334 32์๋ฆฌ์ 16์ง์๋ ์ฌ๋์ด ์ฝ๊ณ ์ฐ๊ธฐ์ ๋ถํธํ๊ณ , ๋๋ถ๋ถ์ ์๋ฆฌ๊ฐ 0์ด๊ธฐ ๋๋ฌธ์ ์๋์ ๊ฐ์ด ์ถ์ฝํ ์ ์๋ค. 1. ๊ฐ ๊ทธ๋ฃน์ ์์๋ฆฌ์ 0์ ์ ์ฒด ๋๋ ์ผ๋ถ๋ฅผ ์๋ต ํ ์ ์๋ค. ์์ IPv6์ ์ถ์ฝํ๋ฉด, ๋ค์๊ณผ ๊ฐ๋ค. 2001:db8:85a3:0:00:8a2e:370:7334 2. ๋ง์ฝ 0์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ ๊ทธ๋ฃน์ด ์์ ๊ฒฝ์ฐ ๊ทธ ์ค ํ ๊ฐ ์ด์ ์ฐ์๋ ๊ทธ๋ฃน์ ํ๋ ๊ณจ๋ผ ์ฝ๋ก 2๊ฐ(::)๋ก ๋ฐ๊ฟ ์ ์๋ค. 2001:db8:8..

[BOJ] ๋ฐฑ์ค 7562๋ฒ ๋์ดํธ์ ์ด๋ - ํ์ด์ฌ(Python)
๋ฌธ์ ์ฒด์คํ ์์ ํ ๋์ดํธ๊ฐ ๋์ฌ์ ธ ์๋ค. ๋์ดํธ๊ฐ ํ ๋ฒ์ ์ด๋ํ ์ ์๋ ์นธ์ ์๋ ๊ทธ๋ฆผ์ ๋์์๋ค. ๋์ดํธ๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์นธ์ด ์ฃผ์ด์ง๋ค. ๋์ดํธ๋ ๋ช ๋ฒ ์์ง์ด๋ฉด ์ด ์นธ์ผ๋ก ์ด๋ํ ์ ์์๊น? ์ ๋ ฅ ์ ๋ ฅ์ ์ฒซ์งธ ์ค์๋ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ์ธ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๋ค. ์ฒซ์งธ ์ค์๋ ์ฒด์คํ์ ํ ๋ณ์ ๊ธธ์ด l(4 ≤ l ≤ 300)์ด ์ฃผ์ด์ง๋ค. ์ฒด์คํ์ ํฌ๊ธฐ๋ l × l์ด๋ค. ์ฒด์คํ์ ๊ฐ ์นธ์ ๋ ์์ ์ {0, ..., l-1} × {0, ..., l-1}๋ก ๋ํ๋ผ ์ ์๋ค. ๋์งธ ์ค๊ณผ ์ ์งธ ์ค์๋ ๋์ดํธ๊ฐ ํ์ฌ ์๋ ์นธ, ๋์ดํธ๊ฐ ์ด๋ํ๋ ค๊ณ ํ๋ ์นธ์ด ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค ๋์ดํธ๊ฐ ์ต์ ๋ช ๋ฒ๋ง์ ์ด๋ํ ์ ์๋์ง ์ถ๋ ฅํ๋ค. https://www.a..

[BOJ] ๋ฐฑ์ค 9465๋ฒ ์คํฐ์ปค - ํ์ด์ฌ(Python)
๋ฌธ์ ์๊ทผ์ด์ ์ฌ๋์ ์๋ฅ์ด๋ ๋ฌธ๋ฐฉ๊ตฌ์์ ์คํฐ์ปค 2n๊ฐ๋ฅผ ๊ตฌ๋งคํ๋ค. ์คํฐ์ปค๋ ๊ทธ๋ฆผ (a)์ ๊ฐ์ด 2ํ n์ด๋ก ๋ฐฐ์น๋์ด ์๋ค. ์๋ฅ์ด๋ ์คํฐ์ปค๋ฅผ ์ด์ฉํด ์ฑ ์์ ๊พธ๋ฏธ๋ ค๊ณ ํ๋ค. ์๋ฅ์ด๊ฐ ๊ตฌ๋งคํ ์คํฐ์ปค์ ํ์ง์ ๋งค์ฐ ์ข์ง ์๋ค. ์คํฐ์ปค ํ ์ฅ์ ๋ผ๋ฉด, ๊ทธ ์คํฐ์ปค์ ๋ณ์ ๊ณต์ ํ๋ ์คํฐ์ปค๋ ๋ชจ๋ ์ฐข์ด์ ธ์ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ์ฆ, ๋ ์คํฐ์ปค์ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ, ์, ์๋์ ์๋ ์คํฐ์ปค๋ ์ฌ์ฉํ ์ ์๊ฒ ๋๋ค. ๋ชจ๋ ์คํฐ์ปค๋ฅผ ๋ถ์ผ ์ ์๊ฒ๋ ์๋ฅ์ด๋ ๊ฐ ์คํฐ์ปค์ ์ ์๋ฅผ ๋งค๊ธฐ๊ณ , ์ ์์ ํฉ์ด ์ต๋๊ฐ ๋๊ฒ ์คํฐ์ปค๋ฅผ ๋ผ์ด๋ด๋ ค๊ณ ํ๋ค. ๋จผ์ , ๊ทธ๋ฆผ (b)์ ๊ฐ์ด ๊ฐ ์คํฐ์ปค์ ์ ์๋ฅผ ๋งค๊ฒผ๋ค. ์๋ฅ์ด๊ฐ ๋ ์ ์๋ ์คํฐ์ปค์ ์ ์์ ์ต๋๊ฐ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ฆ, 2n๊ฐ์ ์คํฐ์ปค ์ค์์ ์ ์์ ํฉ์ด ์ต๋๊ฐ ๋๋ฉด์ ..

[BOJ] ๋ฐฑ์ค 1202๋ฒ ๋ณด์ ๋๋ - ํ์ด์ฌ(Python)
๋ฌธ์ ์ธ๊ณ์ ์ธ ๋๋ ์๋์ด๋ ๋ณด์์ ์ ํธ๊ธฐ๋ก ๊ฒฐ์ฌํ๋ค. ์๋์ด๊ฐ ํธ ๋ณด์์ ์๋ ๋ณด์์ด ์ด N๊ฐ ์๋ค. ๊ฐ ๋ณด์์ ๋ฌด๊ฒ Mi์ ๊ฐ๊ฒฉ Vi๋ฅผ ๊ฐ์ง๊ณ ์๋ค. ์๋์ด๋ ๊ฐ๋ฐฉ์ K๊ฐ ๊ฐ์ง๊ณ ์๊ณ , ๊ฐ ๊ฐ๋ฐฉ์ ๋ด์ ์ ์๋ ์ต๋ ๋ฌด๊ฒ๋ Ci์ด๋ค. ๊ฐ๋ฐฉ์๋ ์ต๋ ํ ๊ฐ์ ๋ณด์๋ง ๋ฃ์ ์ ์๋ค. ์๋์ด๊ฐ ํ์น ์ ์๋ ๋ณด์์ ์ต๋ ๊ฐ๊ฒฉ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ N๊ณผ K๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N, K ≤ 300,000) ๋ค์ N๊ฐ ์ค์๋ ๊ฐ ๋ณด์์ ์ ๋ณด Mi์ Vi๊ฐ ์ฃผ์ด์ง๋ค. (0 ≤ Mi, Vi ≤ 1,000,000) ๋ค์ K๊ฐ ์ค์๋ ๊ฐ๋ฐฉ์ ๋ด์ ์ ์๋ ์ต๋ ๋ฌด๊ฒ Ci๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ Ci ≤ 100,000,000) ๋ชจ๋ ์ซ์๋ ์์ ์ ์์ด๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์๋์ด๊ฐ ํ์น ์ ์๋ ..