๐ค PS(Problem Solving)
[Level2/c++] ํฐ ์ ๋ง๋ค๊ธฐ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํฐ ์ ๋ง๋ค๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค programmers.co.kr ํ์ด (number="1231234", k=3์ผ๋ก ๊ฐ์ ) 0. until = number.length()-k๋ก ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์์ ๊ฐฏ์๋ฅผ ๊ตฌํ๋ค. (until = 4) 1. while(--until >= 0) ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฐ๋ค.(until = 3) 2. while๋ฌธ ์์์ number[0 ~ number.length()-until-1] ์ค์ max๊ฐ๊ณผ max๊ฐ์ ์ธ๋ฑ์ค๋ฅผ ๊ตฌํ๋ค. (number="1231", max๊ฐ=3, max๊ฐ์ ์ธ๋ฑ์ค=2) 3. max๊ฐ์ ์ธ๋ฑ์ค+1 ~ ๋ฌธ์์ด ๋๊น์ง number์ ์๋ฅธ๋ค.(number="1234") 4. max๊ฐ์ answer์ ๋ํ๋ค. (answer = "3") 5. ..
[Level2/c++] ๊ฐ์ฅ ํฐ ์
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ฐ์ฅ ํฐ ์ | ํ๋ก๊ทธ๋๋จธ์ค 0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์. ์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค. 0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. programmers.co.kr ํ์ด ๊ฐ ์ธ์๋ฅผ a,b ๋๊ฐ์ฉ ๊บผ๋ด์์ a+b ๊ฐ ํฐ์ง b+a๊ฐ ํฐ์ง ํ์ธํ์ฌ ํฐ ๊ฐ์ ์์ชฝ์ ๋ฐฐ์นํ๋ค. ๋ง์ง๋ง ์ธ์๋ฅผ ๋น๊ตํ ๋๊น์ง ๋ฐ๋ณต. ์ฝ๋(O(n)) *O(n)์ด..
[Level2/c++] ์ฃผ์๊ฐ๊ฒฉ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฃผ์๊ฐ๊ฒฉ | ํ๋ก๊ทธ๋๋จธ์ค ์ด ๋จ์๋ก ๊ธฐ๋ก๋ ์ฃผ์๊ฐ๊ฒฉ์ด ๋ด๊ธด ๋ฐฐ์ด prices๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๋ช ์ด์ธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ์ฌํญ prices์ ๊ฐ ๊ฐ๊ฒฉ์ 1 ์ด์ 10,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. prices์ ๊ธธ์ด๋ 2 ์ด์ 100,000 ์ดํ์ ๋๋ค. ์ ์ถ๋ ฅ ์ prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] ์ ์ถ๋ ฅ ์ ์ค๋ช 1์ด ์์ ์ โฉ1์ ๋๊น์ง ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง programmers.co.kr ํ์ด (ํจ์จ์ฑ ํ ์คํธ๊ฐ ์์ง๋ง O(n^2)์ผ๋ก๋ ํต๊ณผ๊ฐ ๋์๋ค. ์์ผ๊น..) 1. 2์ค for๋ฌธ, for(int i=0) for(int j=i+1..) ์ ์ ์ธ. 2. ์..
[Level2/c++] ์ ๋ง๋๊ธฐ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ ๋ง๋๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค ์ฌ๋ฌ ๊ฐ์ ์ ๋ง๋๊ธฐ๋ฅผ ๋ ์ด์ ๋ก ์ ๋จํ๋ ค๊ณ ํฉ๋๋ค. ํจ์จ์ ์ธ ์์ ์ ์ํด์ ์ ๋ง๋๊ธฐ๋ฅผ ์๋์์ ์๋ก ๊ฒน์ณ ๋๊ณ , ๋ ์ด์ ๋ฅผ ์์์ ์์ง์ผ๋ก ๋ฐ์ฌํ์ฌ ์ ๋ง๋๊ธฐ๋ค์ ์๋ฆ ๋๋ค. ์ ๋ง๋๊ธฐ์ ๋ ์ด์ ์ ๋ฐฐ์น๋ ๋ค์ ์กฐ๊ฑด์ ๋ง์กฑํฉ๋๋ค. - ์ ๋ง๋๊ธฐ๋ ์์ ๋ณด๋ค ๊ธด ์ ๋ง๋๊ธฐ ์์๋ง ๋์ผ ์ ์์ต๋๋ค. - ์ ๋ง๋๊ธฐ๋ฅผ ๋ค๋ฅธ ์ ๋ง๋๊ธฐ ์์ ๋๋ ๊ฒฝ์ฐ ์์ ํ ํฌํจ๋๋๋ก ๋๋, ๋์ ์ ๊ฒน์น์ง ์๋๋ก ๋์ต๋๋ค. - ๊ฐ ์ ๋ง๋๊ธฐ๋ฅผ ์๋ฅด๋ ๋ ์ด์ ๋ ์ ์ด๋ ํ๋ ์กด์ฌํฉ๋๋ค. - ๋ ์ด์ ๋ ์ด programmers.co.kr ํ์ด '(' ๋ ๋ง๋๊ธฐ์ ์์, ')' ๋ ๋ง๋๊ธฐ์ ๋. '(' ')'๊ฐ ์ฐ์ํด์ ๋์ค๋ ๊ฒฝ์ฐ๋ ๋ ์ด์ ๋ก ๋ง๋๊ธฐ๋ฅผ ๋๋๋ ๊ฒฝ์ฐ. 1. '(' ์ผ๋๋ ์คํ์ push ํด์ค๋ค..
[Level2/c++] ๊ธฐ๋ฅ๊ฐ๋ฐ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๊ธฐ๋ฅ๊ฐ๋ฐ | ํ๋ก๊ทธ๋๋จธ์ค ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์ ์ ์ํ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค. ๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋ ๊ธฐ๋ฅ๋ณด๋ค ๋จผ์ ๊ฐ๋ฐ๋ ์ ์๊ณ , ์ด๋ ๋ค์ ์๋ ๊ธฐ๋ฅ์ ์์ ์๋ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ ๋ ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค. ๋จผ์ ๋ฐฐํฌ๋์ด์ผ ํ๋ ์์๋๋ก ์์ ์ ์ง๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด progresses์ ๊ฐ ์์ ์ ๊ฐ๋ฐ ์๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด speeds๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ ๋ฐฐํฌ๋ง๋ค ๋ช programmers.co.kr ํ์ด 1. {์์ ์ ๊ฐ์, ๊ฐ๋ฐ์๋} ์์์์ ๋ฒกํฐ๋ฅผ ์ ์ธํ๋ค. 2. ๋งจ ์์ ์๋ ์์ ์ด 100% ๊ฐ๋ฐ๋์๋ค๋ฉด ๋งจ ์๋ถํฐ ๊ฐ๋ฐ์๋ฃ๋ ์์ ๋ค์ ํ๊บผ๋ฒ์ ๋บ๋ค. 3. 100%..
[Level2/c++] ํ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ํ | ํ๋ก๊ทธ๋๋จธ์ค ์ํ ์ง์ ์ ํ N๋๋ฅผ ์ธ์ ์ต๋๋ค. ๋ชจ๋ ํ์ ๊ผญ๋๊ธฐ์๋ ์ ํธ๋ฅผ ์ก/์์ ํ๋ ์ฅ์น๋ฅผ ์ค์นํ์ต๋๋ค. ๋ฐ์ฌํ ์ ํธ๋ ์ ํธ๋ฅผ ๋ณด๋ธ ํ๋ณด๋ค ๋์ ํ์์๋ง ์์ ํฉ๋๋ค. ๋ํ, ํ ๋ฒ ์์ ๋ ์ ํธ๋ ๋ค๋ฅธ ํ์ผ๋ก ์ก์ ๋์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋์ด๊ฐ 6, 9, 5, 7, 4์ธ ๋ค์ฏ ํ์ด ์ผ์ชฝ์ผ๋ก ๋์์ ๋ ์ด์ ์ ํธ๋ฅผ ๋ฐ์ฌํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด, ํ์ ๋ค์๊ณผ ๊ฐ์ด ์ ํธ๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค. ๋์ด๊ฐ 4์ธ ๋ค์ฏ ๋ฒ์งธ ํ์์ ๋ฐ์ฌํ ์ ํธ๋ ๋์ด๊ฐ 7์ธ ๋ค ๋ฒ์งธ ํ์ด ์์ ํ๊ณ , ๋์ด๊ฐ 7 programmers.co.kr ํ์ด 1. {6,9,5,7,4}์ผ ๊ฒฝ์ฐ, {{1,6},{2,9},{3,5},{4,7},{5,4}}๋ก {์์,ํ์ ๋์ด} ์์์์ ๋ง๋ค์ด ๋ฒกํฐ์ ๋ฃ๋๋ค. 2. ๋งจ ๋ค๋ถํฐ ์์ํ๋..
[Level2/c++] 124 ๋๋ผ์ ์ซ์
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - 124 ๋๋ผ์ ์ซ์ | ํ๋ก๊ทธ๋๋จธ์ค 124 ๋๋ผ๊ฐ ์์ต๋๋ค. 124 ๋๋ผ์์๋ 10์ง๋ฒ์ด ์๋ ๋ค์๊ณผ ๊ฐ์ ์์ ๋ค๋ง์ ๊ท์น์ผ๋ก ์๋ฅผ ํํํฉ๋๋ค. 124 ๋๋ผ์๋ ์์ฐ์๋ง ์กด์ฌํฉ๋๋ค. 124 ๋๋ผ์๋ ๋ชจ๋ ์๋ฅผ ํํํ ๋ 1, 2, 4๋ง ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด์ 124 ๋๋ผ์์ ์ฌ์ฉํ๋ ์ซ์๋ ๋ค์๊ณผ ๊ฐ์ด ๋ณํ๋ฉ๋๋ค. 10์ง๋ฒ 124 ๋๋ผ 10์ง๋ฒ 124 ๋๋ผ 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 ์์ฐ์ n์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, n์ 124 programmers.co.kr ํ์ด (์ญ์ ๋๋ ์ํ์ ์ธ ๊ฐ๊ฐ์ด ์๋ค^-ใ ํํํ ์ํ๊ณต๋ถ ์ด์ฌํ ํ์) 1. n%3 == 0์ด๋ฉด ๋ฆฌํดํ ๋ฌธ์์ด ์ฒซ๋ฒ์งธ์ '4'๋ฅผ insertํด์คํ n=(n/..
[Level2/c++] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ | ํ๋ก๊ทธ๋๋จธ์ค ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํฉ๋๋ค. ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด์ผ ํฉ๋๋ค. ํธ๋ญ์ 1์ด์ 1๋งํผ ์์ง์ด๋ฉฐ, ๋ค๋ฆฌ ๊ธธ์ด๋ bridge_length์ด๊ณ ๋ค๋ฆฌ๋ ๋ฌด๊ฒ weight๊น์ง ๊ฒฌ๋ฅ๋๋ค. โป ํธ๋ญ์ด ๋ค๋ฆฌ์ ์์ ํ ์ค๋ฅด์ง ์์ ๊ฒฝ์ฐ, ์ด ํธ๋ญ์ ๋ฌด๊ฒ๋ ๊ณ ๋ คํ์ง ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ธธ์ด๊ฐ 2์ด๊ณ 10kg ๋ฌด๊ฒ๋ฅผ ๊ฒฌ๋๋ ๋ค๋ฆฌ๊ฐ ์์ต๋๋ค. ๋ฌด๊ฒ๊ฐ [7, 4, 5, 6]kg์ธ ํธ๋ญ์ด ์์ programmers.co.kr ํ์ด ํธ๋ญ์ ์ ์ฌํ ๋ค๋ฆฌ, ์ฆ ๋ฒกํฐ vector load; ๋ฅผ ์ ์ธํฉ๋๋ค. first์๋ ํธ๋ญ์ด ์ด๋ํ ๊ฑฐ๋ฆฌ, second์๋ ํธ๋ญ์ ๋ฌด๊ฒ๋ฅผ ๋ด์์ค๋๋ค. 1. ..
[Level1/c++] ์์ฐ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์์ฐ | ํ๋ก๊ทธ๋๋จธ์ค S์ฌ์์๋ ๊ฐ ๋ถ์์ ํ์ํ ๋ฌผํ์ ์ง์ํด ์ฃผ๊ธฐ ์ํด ๋ถ์๋ณ๋ก ๋ฌผํ์ ๊ตฌ๋งคํ๋๋ฐ ํ์ํ ๊ธ์ก์ ์กฐ์ฌํ์ต๋๋ค. ๊ทธ๋ฌ๋, ์ ์ฒด ์์ฐ์ด ์ ํด์ ธ ์๊ธฐ ๋๋ฌธ์ ๋ชจ๋ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์๋ ์์ต๋๋ค. ๊ทธ๋์ ์ต๋ํ ๋ง์ ๋ถ์์ ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ์ ์๋๋ก ํ๋ ค๊ณ ํฉ๋๋ค. ๋ฌผํ์ ๊ตฌ๋งคํด ์ค ๋๋ ๊ฐ ๋ถ์๊ฐ ์ ์ฒญํ ๊ธ์ก๋งํผ์ ๋ชจ๋ ์ง์ํด ์ค์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด 1,000์์ ์ ์ฒญํ ๋ถ์์๋ ์ ํํ 1,000์์ ์ง์ํด์ผ ํ๋ฉฐ, 1,000์๋ณด๋ค ์ ์ ๊ธ์ก์ ์ง์ programmers.co.kr ์ฝ๋
[Level1/c++] ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค ์ด ๋ฌธ์ ์๋ ํ์ค ์ ๋ ฅ์ผ๋ก ๋ ๊ฐ์ ์ ์ n๊ณผ m์ด ์ฃผ์ด์ง๋๋ค. ๋ณ(*) ๋ฌธ์๋ฅผ ์ด์ฉํด ๊ฐ๋ก์ ๊ธธ์ด๊ฐ n, ์ธ๋ก์ ๊ธธ์ด๊ฐ m์ธ ์ง์ฌ๊ฐํ ํํ๋ฅผ ์ถ๋ ฅํด๋ณด์ธ์. ์ ํ ์กฐ๊ฑด n๊ณผ m์ ๊ฐ๊ฐ 1000 ์ดํ์ธ ์์ฐ์์ ๋๋ค. ์์ ์ ๋ ฅ ์ถ๋ ฅ programmers.co.kr ์ฝ๋