๋ถ๋ฅ ์ ์ฒด๋ณด๊ธฐ
[๋ฐฑ์ค/c++] 1021๋ฒ - ํ์ ํ๋ ํ
๋ฌธ์ 1021๋ฒ: ํ์ ํ๋ ํ ์ฒซ์งธ ์ค์ ํ์ ํฌ๊ธฐ N๊ณผ ๋ฝ์๋ด๋ ค๊ณ ํ๋ ์์ ๊ฐ์ M์ด ์ฃผ์ด์ง๋ค. N์ 50๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๊ณ , M์ N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. ๋์งธ ์ค์๋ ์ง๋ฏผ์ด๊ฐ ๋ฝ์๋ด๋ ค๊ณ ํ๋ ์์ ์์น๊ฐ ์์๋๋ก ์ฃผ์ด์ง๋ค. ์์น๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , N๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค. www.acmicpc.net ํ์ด ๋ถ๋ฅ : ํ, ์คํ, ์๋ฎฌ๋ ์ด์ ํ์ฌ pivot ๊ฐ์ ๊ธฐ์ค์ผ๋ก left, right์ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณ์ฐ, ๋ ์งง์ ๊ฑฐ๋ฆฌ๋ก ์ด๋ํด์ฃผ๋ฉฐ ์ด๋๊ฑฐ๋ฆฌ๋ฅผ ์ฆ๊ฐํด์ค๋๋ค. ์ฝ๋(O(nm)) *O(nm)์ด ์๋๋ผ๋ฉด ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค(--)(__)*
[๋ฐฑ์ค/c++] 10866๋ฒ - ๋ฑ
๋ฌธ์ 10866๋ฒ: ๋ฑ ์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์จฐ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์ ์ ๋์์์ง ์์ ๋ช ๋ น์ด ์ฃผ์ด์ง๋ ๊ฒฝ์ฐ๋ ์๋ค. www.acmicpc.net ํ์ด ๋ถ๋ฅ : ํ, ์คํ, ๋ฑ ๋ฌธ์ ์์ ์๊ตฌํ๋๋๋ก ๋ฑ์ ๋ง๋ญ๋๋ค. ์ฝ๋(O(n)) *O(n)์ด ์๋๋ผ๋ฉด ์๋ ค์ฃผ์ธ์. ๊ฐ์ฌํฉ๋๋ค(--)(__)*
[๋ฐฑ์ค/c++] 2164๋ฒ - ์นด๋ 2
๋ฌธ์ 2164๋ฒ: ์นด๋2 N์ฅ์ ์นด๋๊ฐ ์๋ค. ๊ฐ๊ฐ์ ์นด๋๋ ์ฐจ๋ก๋ก 1๋ถํฐ N๊น์ง์ ๋ฒํธ๊ฐ ๋ถ์ด ์์ผ๋ฉฐ, 1๋ฒ ์นด๋๊ฐ ์ ์ผ ์์, N๋ฒ ์นด๋๊ฐ ์ ์ผ ์๋์ธ ์ํ๋ก ์์๋๋ก ์นด๋๊ฐ ๋์ฌ ์๋ค. ์ด์ ๋ค์๊ณผ ๊ฐ์ ๋์์ ์นด๋๊ฐ ํ ์ฅ ๋จ์ ๋๊น์ง ๋ฐ๋ณตํ๊ฒ ๋๋ค. ์ฐ์ , ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ๋ฐ๋ฅ์ ๋ฒ๋ฆฐ๋ค. ๊ทธ ๋ค์, ์ ์ผ ์์ ์๋ ์นด๋๋ฅผ ์ ์ผ ์๋์ ์๋ ์นด๋ ๋ฐ์ผ๋ก ์ฎ๊ธด๋ค. ์๋ฅผ ๋ค์ด N=4์ธ ๊ฒฝ์ฐ๋ฅผ ์๊ฐํด ๋ณด์. ์นด๋๋ ์ ์ผ ์์์๋ถํฐ 1234 ์ ์์๋ก ๋์ฌ์๋ค. 1์ ๋ฒ๋ฆฌ www.acmicpc.net ํ์ด ๋ถ๋ฅ : ํ, ์คํ ์ ๋ ฅ๊ฐ์ ํ์ ๋ฃ์ด์ฃผ๊ณ , ๋ฌธ์ ์์ ๋งํ๋ ๋๋ก ํ์ size๊ฐ 1์ด ์๋๋ ๊น์ง pop(), push(), pop() ํด์ค๋๋ค. ์ฝ๋(O(n)) *O(n)์ด ์๋๋ผ๋ฉด ์๋ ค์ฃผ์ธ..
[๋ฐฑ์ค/c++] 4949๋ฒ - ๊ท ํ์กํ ์ธ์
๋ฌธ์ 4949๋ฒ: ๊ท ํ์กํ ์ธ์ ๋ฌธ์ ์ธ๊ณ๋ ๊ท ํ์ด ์ ์กํ์์ด์ผ ํ๋ค. ์๊ณผ ์, ๋น๊ณผ ์ด๋ ๊ทธ๋ฆฌ๊ณ ์ผ์ชฝ ๊ดํธ์ ์ค๋ฅธ์ชฝ ๊ดํธ์ฒ๋ผ ๋ง์ด๋ค. ์ ๋ฏผ์ด์ ์๋ฌด๋ ์ด๋ค ๋ฌธ์์ด์ด ์ฃผ์ด์ก์ ๋, ๊ดํธ๋ค์ ๊ท ํ์ด ์ ๋ง์ถฐ์ ธ ์๋์ง ํ๋จํ๋ ํ๋ก๊ทธ๋จ์ ์ง๋ ๊ฒ์ด๋ค. ๋ฌธ์์ด์ ํฌํจ๋๋ ๊ดํธ๋ ์๊ดํธ("()") ์ ๋๊ดํธ("[]")๋ก 2์ข ๋ฅ์ด๊ณ , ๋ฌธ์์ด์ด ๊ท ํ์ ์ด๋ฃจ๋ ์กฐ๊ฑด์ ์๋์ ๊ฐ๋ค. ๋ชจ๋ ์ผ์ชฝ ์๊ดํธ("(")๋ ์ค๋ฅธ์ชฝ ์๊ดํธ(")")์๋ง ์ง์ ์ด๋ฃฐ ์ ์๋ค. ๋ชจ๋ ์ผ์ชฝ ๋๊ดํธ("[")๋ ์ค๋ฅธ์ชฝ ๋ www.acmicpc.net ํ์ด ๋ถ๋ฅ : ํ, ์คํ / ๋ฌธ์์ด ์ฒ๋ฆฌ. ํ์ฌ ๋ฌธ์๊ฐ [ or ( ์ด๋ผ๋ฉด ์คํ์ ๋ฃ๊ณ , ] or ) ์ด๋ผ๋ฉด ๋จผ์ ์คํ์ top๊ฐ ํ์ธํฉ๋๋ค. ์คํ์ top + ํ์ฌ ๋ฌธ์ ๊ฐ [] ๋๋ () ..
[๋ฐฑ์ค/c++] 1874๋ฒ - ์คํ ์์ด
๋ฌธ์ 1874๋ฒ: ์คํ ์์ด 1๋ถํฐ n๊น์ง์ ์์ ๋ํด ์ฐจ๋ก๋ก [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] ์ฐ์ฐ์ ์ํํ๋ฉด ์์ด [4, 3, 6, 8, 7, 5, 2, 1]์ ์ป์ ์ ์๋ค. www.acmicpc.net ํ์ด ๋ถ๋ฅ : ํ, ์คํ. 1. ๋จผ์ ์ ๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ์์ด์ ์คํ์ ๋ด์ต๋๋ค. 2. 0๋ถํฐ ์์ํ๋ pivot์ ์ค์ ํฉ๋๋ค. 3. pivot๋ณด๋ค n๋ฒ์งธ ์์ด๊ฐ์ด ํฌ๋ค๋ฉด, pivot++ํด์ฃผ๋ฉด์ +-๊ฐ ๋ด๊ธฐ๋ ์ ๋ต์คํ์๋ +๋ฅผ ๋ด์์ค๋๋ค. 4. pivot++ํด์ฃผ๋ค๊ฐ pivot๊ณผ n๋ฒ์งธ ์์ด๊ฐ์ด ๊ฐ์ ๊ฒฝ์ฐ๊ฐ ์จ๋ค๋ฉด ์ ๋ต์คํ์ -๋ฅผ ๋ด์์ฃผ๊ณ , ์์ด ์คํ๋ popํด์ฃผ๊ณ pivot--..
[nexacro17/์ฝ์ง] Services์ ์ง์ ๋ strURL๋ก, spring url ์ ๊ทผ์ด ์ ๋ ๋
[๋ฅ์ฌํฌ๋ก] [์คํ๋ง ์ปจํธ๋กค๋ฌ] ๊ฐ ๋จนํต์ผ ๋ ํด๊ฒฐํ ๋ฐฉ๋ฒ์ด๋ค. transaction๋ฌธ์๋ค. ๋ฅ์ฌํฌ๋ก์๋ transaction์ ์์ strURL์ Services์ ๋ฏธ๋ฆฌ ์ง์ ํด ๋์์ ์๋ค๊ณ ํ๋ค. ์ฌ๊ธฐ์๋ค๊ฐ. ๋ด ๊ฒฝ์ฐ ์คํ๋ง ์ปจํธ๋กค๋ฌ์ ์ ๊ทผ RequestMapping url์ด http://localhost/board/nexa/save.do ์์ผ๋ฏ๋ก Service์ ๋ค์ด๊ฐ URL์ ํด๋น url์ ์ ์ด์ฃผ์๋ค. ์ด๋ ๊ฒ. ๊ทผ๋ฐ ์ ์ ๊ทผ์ด ์๋ผ..? ๊ตฌ๊ธ๋ง์ ์๋ฌด๋ฆฌ ํด๋ด๋ Services์ ๊ฐ ํ๋กํผํฐ(์ปฌ๋ผ?)์ ๋ํ ์ค๋ช ๋ ๋ฐฉ๋ฒ๋ ์ฐพ์ ์๊ฐ ์์ด์ ์ข ์ฝ์งํ๋ค๊ฐ ํด๊ฒฐ๋ฐฉ๋ฒ์ ํผ์ ์ฐพ์๋๋ค. -_- transaction์ผ๋ก ์ ๊ทผํ url์ด http://localhost/board/nexa/save.do ๋ผ๋ฉด, ..
[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. ์..