๐ค PS(Problem Solving)/ํ๋ก๊ทธ๋๋จธ์ค
[Level3/Java] ๋คํธ์ํฌ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋คํธ์ํฌ ๋คํธ์ํฌ๋ ์ปดํจํฐ ์ํธ ๊ฐ์ ์ ๋ณด๋ฅผ ๊ตํํ ์ ์๋๋ก ์ฐ๊ฒฐ๋ ํํ๋ฅผ ์๋ฏธํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ปดํจํฐ A์ ์ปดํจํฐ B๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด์๊ณ , ์ปดํจํฐ B์ ์ปดํจํฐ C๊ฐ ์ง์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋์ด ์ programmers.co.kr ์ฝ๋
[Level2/c++] ๋ฉ์ฉกํ ์ฌ๊ฐํ
๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ํ์ด ์ต๋๊ณต์ฝ์๋ฅผ ์ด์ฉํด์ผ ํ๋ ์ํ๋ฌธ์ ์๋ค. ์๋ ๋ธ๋ก๊ทธ๋ฅผ ์ฐธ๊ณ ํ์๋ค. [ํ๋ก๊ทธ๋๋จธ์ค] ๋ฉ์ฉกํ ์ฌ๊ฐํ in python ํ์ด์ฌ์ผ๋ก ํ๋ก๊ทธ๋๋จธ์ค ํ๊ธฐ :: ๋ฉ์ฉกํ ์ฌ๊ฐํ ๋ฌธ์ ์ค๋ช ๊ฐ๋ก ๊ธธ์ด๊ฐ Wcm, ์ธ๋ก ๊ธธ์ด๊ฐ Hcm์ธ ์ง์ฌ๊ฐํ ์ข ์ด๊ฐ ์์ต๋๋ค. ์ข ์ด์๋ ๊ฐ๋ก, ์ธ๋ก ๋ฐฉํฅ๊ณผ ํํํ๊ฒ ๊ฒฉ์ ํํ๋ก ์ ์ด ๊ทธ์ด์ ธ ์์ผ๋ฉฐ, ๋ชจ๋ ๊ฒฉ์์นธ์.. leedakyeong.tistory.com ์ฝ๋ + ์ฌ๊ท๋ก ์ต๋๊ณต์ฝ์ ๊ตฌํ๊ธฐ int gcd(int a, int b){ if(a==0) return b; else retu..
[Level2/c++,Java] ์คํฌํธ๋ฆฌ
๋ฌธ์ ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋์ ํ์ด 1. skill ๋ฌธ์,์ธ๋ฑ์ค๋ฅผ map์ ์ ์ฅํ๋ค.(๋ค๋ฅธ์ฌ๋๋ค ํ์ด ๋ณด๋ ์ถ๊ฐ๊ณต๊ฐ ํ์์๋ค) 2. ์ ์ ์คํฌํธ๋ฆฌ์์ skill์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ์ฐพ๋๋ค. map[ํด๋น๋ฌธ์] ์ธ๋ฑ์ค๋ฅผ vector์ ์ ์ฅํ๋ค. 3. vector ์ ์ฅ๊ฐ์ด 1,2,3,4...์ ์์๋ก ๋์ด์๋์ง ์ฒดํฌํ๋ค. ์ฝ๋ C++ JAVA + ๋ ๋์ ๋ค๋ฅธ์ฌ๋๋ค์ ํ์ด
[Level2/c++] ์์ ์ฐพ๊ธฐ
๋ฌธ์ ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์์ ์ฐพ๊ธฐ | ํ๋ก๊ทธ๋๋จธ์ค ํ์๋ฆฌ ์ซ์๊ฐ ์ ํ ์ข ์ด ์กฐ๊ฐ์ด ํฉ์ด์ ธ์์ต๋๋ค. ํฉ์ด์ง ์ข ์ด ์กฐ๊ฐ์ ๋ถ์ฌ ์์๋ฅผ ๋ช ๊ฐ ๋ง๋ค ์ ์๋์ง ์์๋ด๋ ค ํฉ๋๋ค. ๊ฐ ์ข ์ด ์กฐ๊ฐ์ ์ ํ ์ซ์๊ฐ ์ ํ ๋ฌธ์์ด numbers๊ฐ ์ฃผ์ด์ก์ ๋, ์ข ์ด ์กฐ๊ฐ์ผ๋ก ๋ง๋ค ์ ์๋ ์์๊ฐ ๋ช ๊ฐ์ธ์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์. ์ ํ์ฌํญ numbers๋ ๊ธธ์ด 1 ์ด์ 7 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค. numbers๋ 0~9๊น์ง ์ซ์๋ง์ผ๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. 013์ 0, 1, 3 ์ซ์๊ฐ ์ ํ ์ข ์ด programmers.co.kr ํ์ด ์๋ผํ ์คํ ๋ค์ค์ ์ฒด๋ฅผ ์์ฉํ๋ค. 0. 0์ด ๋งจ ์์ ์ค์ง ์๋๋ก ๋ฌธ์์ด์ sortํด์ค๋ค. 1. 2~stoi(numbers.size())์ ์ ์ค์์ numbers์..
[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. ๋งจ ๋ค๋ถํฐ ์์ํ๋..