๐ค PS(Problem Solving)/๋ฐฑ์ค(BOJ)
[๋ฐฑ์ค/c++] 1003๋ฒ - ํผ๋ณด๋์น
๋ฌธ์ ๋ฌธ์ ๋ค์ ์์ค๋ N๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ ๊ตฌํ๋ C++ ํจ์์ด๋ค. fibonacci(3)์ ํธ์ถํ๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ผ์ด ์ผ์ด๋๋ค. fibonacci(3)์ fibonacci(2)์ fibonacci(1) (์ฒซ ๋ฒ์งธ ํธ์ถ)์ ํธ์ถํ๋ค. fibonacci(2)๋ fibonacci(1) (๋ ๋ฒ์งธ ํธ์ถ)๊ณผ fibonacci(0)์ ํธ์ถํ๋ค. ๋ ๋ฒ์งธ ํธ์ถํ fibonacci(1)์ 1์ ์ถ๋ ฅํ๊ณ 1์ ๋ฆฌํดํ๋ค. fibonacci(0)์ 0์ ์ถ๋ ฅํ๊ณ , 0์ ๋ฆฌํดํ๋ค. fibonacci(2)๋ fibonacci(1)๊ณผ fibonacci(0)์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ณ , 1์ ๋ฆฌํดํ๋ค. ์ฒซ ๋ฒ์งธ ํธ์ถํ fibonacci(1)์ 1์ ์ถ๋ ฅํ๊ณ , 1์ ๋ฆฌํดํ๋ค. fibonacci(3)์ fibonacci(2)์ fibonacc..
[๋ฐฑ์ค/c++] 10825๋ฒ - ๊ตญ์์
๋ฌธ์ ๋ฌธ์ ๋ํ์ด๋ค ๋ฐ ํ์ N๋ช ์ ์ด๋ฆ๊ณผ ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ผ๋ก ํ์์ ์ฑ์ ์ ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.๊ตญ์ด ์ ์๊ฐ ๊ฐ์ํ๋ ์์๋ก๊ตญ์ด ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์์ด ์ ์๊ฐ ์ฆ๊ฐํ๋ ์์๋ก๊ตญ์ด ์ ์์ ์์ด ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์ํ ์ ์๊ฐ ๊ฐ์ํ๋ ์์๋ก๋ชจ๋ ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์ด๋ฆ์ด ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก (๋จ, ์์คํค ์ฝ๋์์ ๋๋ฌธ์๋ ์๋ฌธ์๋ณด๋ค ์์ผ๋ฏ๋ก ์ฌ์ ์์ผ๋ก ์์ ์จ๋ค.) ์ ๋ ฅ์ฒซ์งธ ์ค์ ๋ํ์ด๋ค ๋ฐ์ ํ์์ ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ๊ฐ ํ์์ ์ด๋ฆ, ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ์ด์ง๋ค. ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๊ณ ..
[๋ฐฑ์ค/c++] 10814๋ฒ - ๋์ด์ ์ ๋ ฌ
๋ฌธ์ ๋ฌธ์ ๋ํ์ด๋ค ๋ฐ ํ์ N๋ช ์ ์ด๋ฆ๊ณผ ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด๋, ๋ค์๊ณผ ๊ฐ์ ์กฐ๊ฑด์ผ๋ก ํ์์ ์ฑ์ ์ ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.๊ตญ์ด ์ ์๊ฐ ๊ฐ์ํ๋ ์์๋ก๊ตญ์ด ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์์ด ์ ์๊ฐ ์ฆ๊ฐํ๋ ์์๋ก๊ตญ์ด ์ ์์ ์์ด ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์ํ ์ ์๊ฐ ๊ฐ์ํ๋ ์์๋ก๋ชจ๋ ์ ์๊ฐ ๊ฐ์ผ๋ฉด ์ด๋ฆ์ด ์ฌ์ ์์ผ๋ก ์ฆ๊ฐํ๋ ์์๋ก (๋จ, ์์คํค ์ฝ๋์์ ๋๋ฌธ์๋ ์๋ฌธ์๋ณด๋ค ์์ผ๋ฏ๋ก ์ฌ์ ์์ผ๋ก ์์ ์จ๋ค.) ์ ๋ ฅ์ฒซ์งธ ์ค์ ๋ํ์ด๋ค ๋ฐ์ ํ์์ ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ ํ ์ค์ ํ๋์ฉ ๊ฐ ํ์์ ์ด๋ฆ, ๊ตญ์ด, ์์ด, ์ํ ์ ์๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ฃผ์ด์ง๋ค. ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ์ด๋ฆ์ ์ํ๋ฒณ ๋์๋ฌธ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๊ณ ..
[๋ฐฑ์ค/c++] 11651๋ฒ - ์ขํ ์ ๋ ฌํ๊ธฐ2
๋ฌธ์ ๋ฌธ์ 2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, y์ขํ๊ฐ ๊ฐ์ผ๋ฉด x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 11650๋ฒ ๋ฌธ์ ์ ๊ท์น๊ณผ ์์๋ง ์์ฃผ ์ด์ง ๋ฐ๋ ๋ฌธ์ ์ด๋ฏ๋ก, sort()์ ๋ค์ด๊ฐ๋ ์ปค์คํ ํจ์๋ง ์์ ํด์ฃผ๋ฉด ์ฝ๊ฒ ๋ต์ ๋ง์ถ ์ ์์ต๋๋ค. [๋ฐฑ์ค/c++] 11650๋ฒ - ์ขํ ์ ๋ ฌํ๊ธฐ ๋ฌธ์ ๋ฌธ์ 2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ..
[๋ฐฑ์ค/c++] 11650๋ฒ - ์ขํ ์ ๋ ฌํ๊ธฐ
๋ฌธ์ ๋ฌธ์ 2์ฐจ์ ํ๋ฉด ์์ ์ N๊ฐ๊ฐ ์ฃผ์ด์ง๋ค. ์ขํ๋ฅผ x์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์ผ๋ก, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๊ฐ ์ฆ๊ฐํ๋ ์์๋ก ์ ๋ ฌํ ๋ค์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์ ์ ๊ฐ์ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ i๋ฒ์ ์ ์์น xi์ yi๊ฐ ์ฃผ์ด์ง๋ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขํ๋ ํญ์ ์ ์์ด๊ณ , ์์น๊ฐ ๊ฐ์ ๋ ์ ์ ์๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ ์ ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์น x์ขํ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก, x์ขํ๊ฐ ๊ฐ์ผ๋ฉด y์ขํ๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํฉ๋๋ค. 2.์์ c++์ ์ ๋ ฌ์ ์ํ sort()ํจ์๊ฐ algorithmํค๋์์ ์ ๊ณต๋๋ฏ๋ก ํด๋น ํจ์๋ฅผ ์ฌ์ฉํฉ๋๋ค. [sort()๋ฅผ ๋ ์์ธํ๊ฒ ์๊ณ ..
[๋ฐฑ์ค] 2751๋ฒ - ์ ์ ๋ ฌํ๊ธฐ2
๋ฌธ์ ๋ฌธ์ N๊ฐ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๋ฅผ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์๋ ์ ๋๊ฐ์ด 1,000,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์๋ ์ค๋ณต๋์ง ์๋๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ํ ์ค์ ํ๋์ฉ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์น ์ ๋ ฅ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌ ํฉ๋๋ค. ์ฒซ์งธ ์ค์ ์์ ๊ฐ์ N(1 ≤ N ≤ 1,000,000)์ด ์ฃผ์ด์ง๋๋ค. 2.์์ ๋ฐ์ดํฐ๊ฐ ๋ง์ผ๋ฏ๋ก ์๊ฐ๋ณต์ก๋๋ฅผ ๊ณ ๋ คํด์ผ ํฉ๋๋ค. ์ฌ๋ฌ ์ ๋ ฌ ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง, ์ ๋ ์๊ฐ๋ณต์ก๋๊ฐ best/worst : O(n log n)์ธ ํฉ๋ณ์ ๋ ฌ(merge sort)๋ก ๊ตฌํํ์์ต๋๋ค. ํฉ๋ณ์ ๋ ฌ์..
[๋ฐฑ์ค] 11052๋ฒ - ์นด๋ ๊ตฌ๋งคํ๊ธฐ
๋ฌธ์ ๋ฌธ์ ์์ฆ ๋ฏผ๊ท๋ค ๋๋ค์์๋ ์คํํธ๋งํฌ์์ ๋ง๋ PS์นด๋๋ฅผ ๋ชจ์ผ๋ ๊ฒ์ด ์ ํ์ด๋ค. PS์นด๋๋ PS(Problem Solving)๋ถ์ผ์์ ์ ๋ช ํ ์ฌ๋๋ค์ ์์ด๋์ ์ผ๊ตด์ด ์ ํ์๋ ์นด๋์ด๋ค. ๊ฐ๊ฐ์ ์นด๋์๋ ๋ฑ๊ธ์ ๋ํ๋ด๋ ์์ด ์น ํด์ ธ ์๊ณ , ๋ค์๊ณผ ๊ฐ์ด 8๊ฐ์ง๊ฐ ์๋ค. [์ ์ค์นด๋ ๋ ๋์นด๋ ์ค๋ ์ง์นด๋ ํผํ์นด๋ ๋ธ๋ฃจ์นด๋ ์ฒญ๋ก์นด๋ ๊ทธ๋ฆฐ์นด๋ ๊ทธ๋ ์ด์นด๋] ์นด๋๋ ์นด๋ํฉ์ ํํ๋ก๋ง ๊ตฌ๋งคํ ์ ์๊ณ , ์นด๋ํฉ์ ์ข ๋ฅ๋ ์นด๋ 1๊ฐ๊ฐ ํฌํจ๋ ์นด๋ํฉ, ์นด๋ 2๊ฐ๊ฐ ํฌํจ๋ ์นด๋ํฉ, ... ์นด๋ N๊ฐ๊ฐ ํฌํจ๋ ์นด๋ํฉ๊ณผ ๊ฐ์ด ์ด N๊ฐ์ง๊ฐ ์กด์ฌํ๋ค. ๋ฏผ๊ท๋ ์นด๋์ ๊ฐ์๊ฐ ์ ์ ํฉ์ด๋๋ผ๋ ๊ฐ๊ฒฉ์ด ๋น์ธ๋ฉด ๋์ ๋ฑ๊ธ์ ์นด๋๊ฐ ๋ง์ด ๋ค์ด์์ ๊ฒ์ด๋ผ๋ ๋ฏธ์ ์ ๋ฏฟ๊ณ ์๋ค. ๋ฐ๋ผ์, ๋ฏผ๊ท๋ ๋์ ์ต๋ํ ๋ง์ด ์ง๋ถํด์ ์นด๋ N๊ฐ ๊ตฌ๋งคํ๋ ค๊ณ ..
[๋ฐฑ์ค] 2011๋ฒ - ์ํธ์ฝ๋
๋ฌธ์ ๋ฌธ์ ์๊ทผ์ด์ ์ ์์ด๊ฐ ๋ค๋ฅธ ์ฌ๋๋ค์ด ๋จ๋งค๊ฐ์ ๋ํ๋ฅผ ๋ฃ๋ ๊ฒ์ ๋ฐฉ์งํ๊ธฐ ์ํด์ ๋ํ๋ฅผ ์๋ก ์ํธํ ํ๊ธฐ๋ก ํ๋ค. ๊ทธ๋์ ๋ค์๊ณผ ๊ฐ์ ๋ํ๋ฅผ ํ๋ค. ์๊ทผ: ๊ทธ๋ฅ ๊ฐ๋จํ ์ํธํ ํ์. A๋ฅผ 1์ด๋ผ๊ณ ํ๊ณ , B๋ 2๋ก, ๊ทธ๋ฆฌ๊ณ Z๋ 26์ผ๋ก ํ๋๊ฑฐ์ผ. ์ ์: ๊ทธ๋ผ ์๋ผ. ๋ง์ฝ, "BEAN"์ ์ํธํํ๋ฉด 25114๊ฐ ๋์ค๋๋ฐ, ์ด๊ฑธ ๋ค์ ๊ธ์๋ก ๋ฐ๊พธ๋ ๋ฐฉ๋ฒ์ ์ฌ๋ฌ ๊ฐ์ง๊ฐ ์์ด. ์๊ทผ: ๊ทธ๋ ๋ค. 25114๋ฅผ ๋ค์ ์์ด๋ก ๋ฐ๊พธ๋ฉด, "BEAAD", "YAAD", "YAN", "YKD", "BEKD", "BEAN" ์ด 6๊ฐ์ง๊ฐ ๋์ค๋๋ฐ, BEAN์ด ๋ง๋ ๋จ์ด๋ผ๋๊ฑด ์ฝ๊ฒ ์์ ์์์? ์ ์: ์๊ฐ ์ ์ ํ์ง ์์๋ค ใ ใ ๋ง์ฝ ๋ด๊ฐ 500์๋ฆฌ ๊ธ์๋ฅผ ์ํธํ ํ๋ค๊ณ ํด๋ด. ๊ทธ ๋๋ ๋์ฌ ์ ์๋ ํด์์ด ์ ๋ง ๋ง์๋ฐ, ..
[๋ฐฑ์ค] 2225๋ฒ-ํฉ๋ถํด
๋ฌธ์ ๋ฌธ์ 0๋ถํฐ N๊น์ง์ ์ ์ K๊ฐ๋ฅผ ๋ํด์ ๊ทธ ํฉ์ด N์ด ๋๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋ง์ ์ ์์๊ฐ ๋ฐ๋ ๊ฒฝ์ฐ๋ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ก ์ผ๋ค(1+2์ 2+1์ ์๋ก ๋ค๋ฅธ ๊ฒฝ์ฐ). ๋ํ ํ ๊ฐ์ ์๋ฅผ ์ฌ๋ฌ ๋ฒ ์ธ ์๋ ์๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ๋ ์ ์ N(1 ≤ N ≤ 200), K(1 ≤ K ≤ 200)๊ฐ ์ฃผ์ด์ง๋ค. ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์น dp์ด๋ฏ๋ก ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ด์ฉํฉ๋๋ค. ์ ๋ต์ 1,000,000,000์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ์ถ๋ ฅํฉ๋๋ค. 2.์์ ์ ํ์์ ํ๋ฒ ์ฐพ์๋ด ๋๋ค. N=1, N=2์ธ ๊ฒฝ์ฐ์ ์๋ฅผ ๋์ดํด๋ณด๋ฉด ์ ํ์์ d[n][k] = d[n-1][k] + d[n][k-1] ์ด๋ ๊ฒ์ ์ ์ ์์ต๋๋ค. 3.์ฝ๋
[๋ฐฑ์ค] 9461๋ฒ-ํ๋๋ฐ ์์ด
๋ฌธ์ ๋ฌธ์ ์ค๋ฅธ์ชฝ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด ์ผ๊ฐํ์ด ๋์ ๋ชจ์์ผ๋ก ๋์ฌ์ ธ ์๋ค. ์ฒซ ์ผ๊ฐํ์ ์ ์ผ๊ฐํ์ผ๋ก ๋ณ์ ๊ธธ์ด๋ 1์ด๋ค. ๊ทธ ๋ค์์๋ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์ ์ผ๊ฐํ์ ๊ณ์ ์ถ๊ฐํ๋ค. ๋์ ์์ ๊ฐ์ฅ ๊ธด ๋ณ์ ๊ธธ์ด๋ฅผ k๋ผ ํ์ ๋, ๊ทธ ๋ณ์ ๊ธธ์ด๊ฐ k์ธ ์ ์ผ๊ฐํ์ ์ถ๊ฐํ๋ค. ํ๋๋ฐ ์์ด P(N)์ ๋์ ์ ์๋ ์ ์ผ๊ฐํ์ ๋ณ์ ๊ธธ์ด์ด๋ค. P(1)๋ถํฐ P(10)๊น์ง ์ฒซ 10๊ฐ ์ซ์๋ 1, 1, 1, 2, 2, 3, 4, 5, 7, 9์ด๋ค. N์ด ์ฃผ์ด์ก์ ๋, P(N)์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , N์ด ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 100) ์ถ๋ ฅ ๊ฐ ํ ์คํธ ์ผ์ด์ค๋ง๋ค P(N)์ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์น dp์ด๋ฏ๋ก ์ ํ์..