๐ค PS(Problem Solving)
[์นด์นด์ค] 2018๋ธ๋ผ์ธ๋์ฑ์ฉ - 7๋ฒ ๋ฌธ์ (๋ธ๋ก ๊ฒ์)
์ถ์ฒ : '19 ์นด์นด์ค ์ฝ๋ฉ ํ ์คํธ (C++) - YouTube www.youtube.com ๋ฌธ์ ๋ธ๋ก๊ฒ์ ํ๋ ์ฆ ๋ธ๋ก์ด๋ผ๋ ์ ๊ท ๊ฒ์์ด ์ถ์๋์๊ณ , ์ด๋ง์ด๋งํ ์๊ธ์ด ๊ฑธ๋ฆฐ ์ด๋ฒคํธ ๋ํ๊ฐ ๊ฐ์ต ๋์๋ค. ์ด ๋ํ๋ ์ฌ๋์ ๋์ ํด์ ํ๋ ์ดํ ํ๋ก๊ทธ๋จ์ผ๋ก ์ฐธ๊ฐํด๋ ๋๋ค๋ ๊ท์ ์ด ์์ด์, ๊ฒ์ ์ค๋ ฅ์ด ํํธ์๋ ํ๋ก๋๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค์ด์ ์ฐธ๊ฐํ๊ธฐ๋ก ๊ฒฐ์ฌํ๊ณ ๊ฐ๋ฐ์ ์์ํ์๋ค. ํ๋ก๋๊ฐ ์ฐ์นํ ์ ์๋๋ก ๋์์ ๋น ๋ฅด๊ณ ์ ํํ ํ๋ก๊ทธ๋จ์ ์์ฑํด ๋ณด์. ๊ฒ์๊ท์น ์๋ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด 1×1 ํฌ๊ธฐ์ ๋ธ๋ก์ ์ด์ด ๋ถ์ฌ ๋ง๋ 3 ์ข ๋ฅ์ ๋ธ๋ก์ ํ์ ํด์ ์ด 12๊ฐ์ง ๋ชจ์์ ๋ธ๋ก์ ๋ง๋ค ์ ์๋ค. 1 x 1 ํฌ๊ธฐ์ ์ ์ฌ๊ฐํ์ผ๋ก ์ด๋ฃจ์ด์ง N x N ํฌ๊ธฐ์ ๋ณด๋ ์์ ์ด ๋ธ๋ก๋ค์ด ๋ฐฐ์น๋ ์ฑ๋ก ๊ฒ์์ด ์์๋๋ค. (๋ณด๋ ์์ ๋์ธ ๋ธ๋ก..
[์นด์นด์ค] 2018๋ธ๋ผ์ธ๋์ฑ์ฉ - 6๋ฒ ๋ฌธ์ (๋งค์นญ ์ ์)
์ถ์ฒ : '19 ์นด์นด์ค ์ฝ๋ฉ ํ ์คํธ (C++) - YouTube www.youtube.com ๋ฌธ์ ๋งค์นญ ์ ์ ํ๋ ์ฆ ๋ํ๊ต ์กฐ๊ต์๋ ์ ์ด์ง๋ ํ๋๋ ์ผ๋ง ์ํค๋ ๋ค์ค ํ๊ณผ์ฅ๋์ ๋ง์์์ ๋ฒ์ด๋, ์นด์นด์ค์ ์ ์ฌํ๊ฒ ๋์๋ค. ํ์์ ๊ด์ฌ์์ดํ๋ ๊ฒ์์ ๋ง์นจ ๊ฒฐ์์ด ๋ฐ์ํ์ฌ, ๊ฒ์๊ฐ๋ฐํ์ ํธ์ ๋ ์ ์์๊ณ , ๋๋ง์ ์ฒซ ํ๋ก์ ํธ๋ฅผ ๋งก๊ฒ ๋์๋ค. ๊ทธ ํ๋ก์ ํธ๋ ๊ฒ์์ด์ ๊ฐ์ฅ ์ ๋ง๋ ์นํ์ด์ง๋ฅผ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ์๋์ ๊ฐ์ ๊ท์น์ผ๋ก ๊ฒ์์ด์ ๋ํ ์นํ์ด์ง์ ๋งค์นญ์ ์๋ฅผ ๊ณ์ฐ ํ๋ ๊ฒ์ด์๋ค. ํ ์นํ์ด์ง์ ๋ํด์ ๊ธฐ๋ณธ์ ์, ์ธ๋ถ ๋งํฌ ์, ๋งํฌ์ ์, ๊ทธ๋ฆฌ๊ณ ๋งค์นญ์ ์๋ฅผ ๊ตฌํ ์ ์๋ค. ํ ์นํ์ด์ง์ ๊ธฐ๋ณธ์ ์๋ ํด๋น ์นํ์ด์ง์ ํ ์คํธ ์ค, ๊ฒ์์ด๊ฐ ๋ฑ์ฅํ๋ ํ์์ด๋ค. (๋์๋ฌธ์ ๋ฌด์) ํ ์นํ์ด์ง์ ์ธ๋ถ ๋งํฌ ์๋ ํด๋น ์นํ..
[์นด์นด์ค] 2018๋ธ๋ผ์ธ๋์ฑ์ฉ - 5๋ฒ ๋ฌธ์ (๊ธธ ์ฐพ๊ธฐ ๊ฒ์)
์ถ์ฒ : '19 ์นด์นด์ค ์ฝ๋ฉ ํ ์คํธ (C++) - YouTube www.youtube.com ๋ฌธ์ ๊ธธ ์ฐพ๊ธฐ ๊ฒ์ ์ ๋ฌด๋ก ์น์งํ ๋ผ์ด์ธ์ ๊ธฐ๋ถ์ด ๋๋ฌด ์ข์ ํ๋ ์ฆ๋ฅผ ์ด๋๊ณ ํน๋ณ ํด๊ฐ๋ฅผ ๊ฐ๊ธฐ๋ก ํ๋ค. ๋ด์น๊น์ ์ฌํ ๊ณํ๊น์ง ๊ตฌ์ํ๋ ๋ผ์ด์ธ์ ์ฌ๋ฏธ์๋ ๊ฒ์์ ์๊ฐํด๋๊ณ ์ญ์ ์ ๋ฌด๋ก ์น์งํ ๋งํ ์ธ์ฌ๋ผ๊ณ ์ค์ค๋ก์๊ฒ ๊ฐํํ๋ค. ๋ผ์ด์ธ์ด ๊ตฌ์ํ(๊ทธ๋ฆฌ๊ณ ์๋ง๋ ๋ผ์ด์ธ๋ง ์ฆ๊ฑฐ์ธ๋งํ) ๊ฒ์์, ์นด์นด์ค ํ๋ ์ฆ๋ฅผ ๋ ํ์ผ๋ก ๋๋๊ณ , ๊ฐ ํ์ด ๊ฐ์ ๊ณณ์ ๋ค๋ฅธ ์์๋ก ๋ฐฉ๋ฌธํ๋๋ก ํด์ ๋จผ์ ์ํ๋ฅผ ๋ง์น ํ์ด ์น๋ฆฌํ๋ ๊ฒ์ด๋ค. ๊ทธ๋ฅ ์ง๋๋ฅผ ์ฃผ๊ณ ๊ฒ์์ ์์ํ๋ฉด ์ฌ๋ฏธ๊ฐ ๋ํด์ง๋ฏ๋ก, ๋ผ์ด์ธ์ ๋ฐฉ๋ฌธํ ๊ณณ์ 2์ฐจ์ ์ขํ ๊ฐ์ ๊ตฌํ๊ณ ๊ฐ ์ฅ์๋ฅผ ์ด์งํธ๋ฆฌ์ ๋ ธ๋๊ฐ ๋๋๋ก ๊ตฌ์ฑํ ํ, ์ํ ๋ฐฉ๋ฒ์ ํํธ๋ก ์ฃผ์ด ๊ฐ ํ์ด ์ค์ค๋ก ๊ฒฝ๋ก๋ฅผ ์ฐพ๋๋ก ํ ..
[๋ฐฑ์ค] 1912๋ฒ - ์ฐ์ํฉ
๋ฌธ์ ๋ฌธ์ n๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์์ ์์ด์ด ์ฃผ์ด์ง๋ค. ์ฐ๋ฆฌ๋ ์ด ์ค ์ฐ์๋ ๋ช ๊ฐ์ ์๋ฅผ ์ ํํด์ ๊ตฌํ ์ ์๋ ํฉ ์ค ๊ฐ์ฅ ํฐ ํฉ์ ๊ตฌํ๋ ค๊ณ ํ๋ค. ๋จ, ์๋ ํ ๊ฐ ์ด์ ์ ํํด์ผ ํ๋ค.์๋ฅผ ๋ค์ด์ 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 ์ด๋ผ๋ ์์ด์ด ์ฃผ์ด์ก๋ค๊ณ ํ์. ์ฌ๊ธฐ์ ์ ๋ต์ 12+21์ธ 33์ด ์ ๋ต์ด ๋๋ค. ์ ๋ ฅ์ฒซ์งธ ์ค์ ์ ์ n(1 ≤ n ≤ 100,000)์ด ์ฃผ์ด์ง๊ณ ๋์งธ ์ค์๋ n๊ฐ์ ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด์ด ์ฃผ์ด์ง๋ค. ์๋ -1,000๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 1,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์์ด๋ค. ์ถ๋ ฅ์ฒซ์งธ ์ค์ ๋ต์ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์นdp์ด๋ฏ๋ก ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ด์ฉํฉ๋๋ค.์ฐ์ํฉ ์ค ๊ฐ์ฅ ํฐ ์๊ฐ d[i]์ ๋ค์ด๊ฐ๋๋ค. 2.์์ ํจ์ ์ ์ ์ํฉ๋๋ค.1 2..
[๋ฐฑ์ค] 11054๋ฒ - ๊ฐ์ฅ ๊ธด ๋ฐ์ดํ ๋ ๋ถ๋ถ ์์ด
๋ฌธ์ ๋ฌธ์ ์์ด S๊ฐ ์ด๋ค ์ Sk๋ฅผ ๊ธฐ์ค์ผ๋ก S1 Sk+1 > ... SN-1 > SN์ ๋ง์กฑํ๋ค๋ฉด, ๊ทธ ์์ด์ ๋ฐ์ดํ ๋ ์์ด์ด๋ผ๊ณ ํ๋ค.์๋ฅผ ๋ค์ด, {10, 20, 30, 25, 20}๊ณผ {10, 20, 30, 40}, {50, 40, 25, 10} ์ ๋ฐ์ดํ ๋ ์์ด์ด์ง๋ง, {1, 2, 3, 2, 1, 2, 3, 2, 1}๊ณผ {10, 20, 30, 40, 20, 30} ์ ๋ฐ์ดํ ๋ ์์ด์ด ์๋๋ค.์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ๋ถ๋ถ ์์ด ์ค ๋ฐ์ดํ ๋ ์์ด์ด๋ฉด์ ๊ฐ์ฅ ๊ธด ์์ด์ ๊ธธ์ด๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์ ๋ ฅ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N์ด ์ฃผ์ด์ง๊ณ , ๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1..
[๋ฐฑ์ค] 11722๋ฒ - ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด
๋ฌธ์ ๋ฌธ์ ์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด, ์์ด A = {10, 30, 10, 20, 20, 10} ์ธ ๊ฒฝ์ฐ์ ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด์A = {10, 30, 10, 20, 20, 10} ์ด๊ณ , ๊ธธ์ด๋ 3์ด๋ค. ์ ๋ ฅ ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ Ai ≤ 1,000) ์ถ๋ ฅ ์ฒซ์งธ ์ค์ ์์ด A์ ๊ฐ์ฅ ๊ธด ๊ฐ์ํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์นDP์ด๋ฏ๋ก ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ด์ฉํฉ๋๋ค.d[n-1] > d[n] ์ด๋ผ๋ฉด d[n]์ ๊ฐ์ ์ฆ๊ฐ์ํต๋๋ค. 2.์์ [11053๋ฒ - ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด] ๋ฌธ์ ์ ๊ฐ์ ์..
[๋ฐฑ์ค] 11055๋ฒ - ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด(์์ )
๋ฌธ์ ๋ฌธ์ ์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ทธ ์์ด์ ์ฆ๊ฐ ๋ถ๋ถ ์์ด ์ค์์ ํฉ์ด ๊ฐ์ฅ ํฐ ๊ฒ์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์๋ฅผ ๋ค์ด, ์์ด A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ธ ๊ฒฝ์ฐ์ ํฉ์ด ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} ์ด๊ณ , ํฉ์ 113์ด๋ค. ์ ๋ ฅ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค.๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ Ai ≤ 1,000) ์ถ๋ ฅ์ฒซ์งธ ์ค์ ์์ด A์ ํฉ์ด ๊ฐ์ฅ ํฐ ์ฆ๊ฐ ๋ถ๋ถ ์์ด์ ํฉ์ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์นDP์ด๋ฏ๋ก ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ด์ฉํฉ๋๋ค.d[n-1] < d[n] ์ด๋ผ๋ฉด d[n]์ ๊ฐ์ ์ฆ๊ฐ์ํต๋๋ค. 2.์์[1105..
[๋ฐฑ์ค] 11053๋ฒ - ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด
๋ฌธ์ ๋ฌธ์ ์์ด A๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.์๋ฅผ ๋ค์ด, ์์ด A = {10, 20, 10, 30, 20, 50} ์ธ ๊ฒฝ์ฐ์ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ A = {10, 20, 10, 30, 20, 50} ์ด๊ณ , ๊ธธ์ด๋ 4์ด๋ค. ์ ๋ ฅ์ฒซ์งธ ์ค์ ์์ด A์ ํฌ๊ธฐ N (1 ≤ N ≤ 1,000)์ด ์ฃผ์ด์ง๋ค.๋์งธ ์ค์๋ ์์ด A๋ฅผ ์ด๋ฃจ๊ณ ์๋ Ai๊ฐ ์ฃผ์ด์ง๋ค. (1 ≤ Ai ≤ 1,000) ์ถ๋ ฅ์ฒซ์งธ ์ค์ ์์ด A์ ๊ฐ์ฅ ๊ธด ์ฆ๊ฐํ๋ ๋ถ๋ถ ์์ด์ ๊ธธ์ด๋ฅผ ์ถ๋ ฅํ๋ค. ํ์ด๊ณผ์ 1.๊ท์นDP์ด๋ฏ๋ก ์ ํ์๊ณผ ๋ฉ๋ชจ์ด์ ์ด์ ์ ์ด์ฉํฉ๋๋ค.d[n-1] < d[n] ์ด๋ผ๋ฉด d[n]์ ๊ฐ์ ์ฆ๊ฐ์ํต๋๋ค. 2.์์ ๋ฉ๋ชจ์ด์ ์ด์ ์ ํ์๋ฅผ ์ ์ฅํ๋ ์ ํ์์ ์๊ฐํด ๋ด ๋๋ค.์ฒซ์งธ๋ก, A[n-..
[๋งค์ผํ๋ก๊ทธ๋๋ฐ] ์ฝ๋ฉํ ์คํธ 07/08/2019
๋ฌธ์ ์ ์ ๋ฐฐ์ด(int array)๊ฐ ์ฃผ์ด์ง๋ฉด ๊ฐ์ฅ ํฐ ์ด์ด์ง๋ ์์๋ค์ ํฉ์ ๊ตฌํ์์ค. ๋จ, ์๊ฐ๋ณต์ก๋๋ O(n).Given an integer array, find the largest consecutive sum of elements. ์์ }Input: [-1, 3, -1, 5]Output: 7 // 3 + (-1) + 5 Input: [-5, -3, -1]Output: -1 // -1 Input: [2, 4, -2, -3, 8]Output: 9 // 2 + 4 + (-2) + (-3) + 8 ๋ด๊ฐ ์๊ฐํด๋ณธ ํ์ด๊ณผ์ 1.๊ท์น์๊ฐ ๋ณต์ก๋๋ O(n)์ ๋๋ค.๋ํด์ง๋ ์์๋ ๋ฐ๋์ ์ธ๋ฑ์ค๊ฐ ์ด์ด์ ธ ์์ด์ผ ํฉ๋๋ค. (arr[i] + arr[i+3] ๊ฐ์ ๊ฒฝ์ฐ๋ X) 2.์์ ์๊ฐ๋ณต์ก๋๊ฐ O(n)์ด๋ 2์ค f..
[๋ฐฑ์ค] 2156๋ฒ - ํฌ๋์ฃผ ์์
๋ฌธ์ ๋ฌธ์ ํจ์ฃผ๋ ํฌ๋์ฃผ ์์ํ์ ๊ฐ๋ค. ๊ทธ ๊ณณ์ ๊ฐ๋๋, ํ ์ด๋ธ ์์ ๋ค์ํ ํฌ๋์ฃผ๊ฐ ๋ค์ด์๋ ํฌ๋์ฃผ ์์ด ์ผ๋ ฌ๋ก ๋์ฌ ์์๋ค. ํจ์ฃผ๋ ํฌ๋์ฃผ ์์์ ํ๋ ค๊ณ ํ๋๋ฐ, ์ฌ๊ธฐ์๋ ๋ค์๊ณผ ๊ฐ์ ๋ ๊ฐ์ง ๊ท์น์ด ์๋ค.ํฌ๋์ฃผ ์์ ์ ํํ๋ฉด ๊ทธ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ๋ ๋ชจ๋ ๋ง์ ์ผ ํ๊ณ , ๋ง์ ํ์๋ ์๋ ์์น์ ๋ค์ ๋์์ผ ํ๋ค.์ฐ์์ผ๋ก ๋์ฌ ์๋ 3์์ ๋ชจ๋ ๋ง์ค ์๋ ์๋ค.ํจ์ฃผ๋ ๋ ์ ์๋ ๋๋ก ๋ง์ ์์ ํฌ๋์ฃผ๋ฅผ ๋ง๋ณด๊ธฐ ์ํด์ ์ด๋ค ํฌ๋์ฃผ ์์ ์ ํํด์ผ ํ ์ง ๊ณ ๋ฏผํ๊ณ ์๋ค. 1๋ถํฐ n๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ด ์๋ n๊ฐ์ ํฌ๋์ฃผ ์์ด ์์๋๋ก ํ ์ด๋ธ ์์ ๋์ฌ ์๊ณ , ๊ฐ ํฌ๋์ฃผ ์์ ๋ค์ด์๋ ํฌ๋์ฃผ์ ์์ด ์ฃผ์ด์ก์ ๋, ํจ์ฃผ๋ฅผ ๋์ ๊ฐ์ฅ ๋ง์ ์์ ํฌ๋์ฃผ๋ฅผ ๋ง์ค ์ ์๋๋ก ํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ์๋ฅผ ๋ค์ด 6..