๐๋ฌธ์ ํ์ด
[Python] ํ๋ก๊ทธ๋๋จธ์ค N์ผ๋ก ํํ | DP
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/42895 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - 8๋ฒ ์ด์ ์ฐ์ฐ์ ๋ถ๊ฐ๋ฅํ๋ค๋ ๊ฒ์ ์ธ์งํ๊ณ ๊ฐ ์ธ๋ฑ์ค ํฌ๊ธฐ ๋งํผ์ ์ฐ์ฐ ์ํ์ ๊ฒฐ๊ณผ ์๋ค์ ์ ์ฅํ๋ ๋ฐฐ์ด ์ ์ธ - dp[i]์๋ i๋ i+1๋ฒ ์ฐ์ฐ์ ํํ ๊ฐ๋ฅํ ์๋ค์ด ๋ค์ด๊ฐ๋ค. - N์ด 5๋ผ๋ฉด 55๋ ์ฐ์ฐ 2๋ฒ์ ์๋ฏธํ๋ฏ๋ก ํด๋นํ๋ ๊ฐ์ ๋ฏธ๋ฆฌ ๋ฃ์ด ๋๋ค. - 4์ค for๋ฌธ 1) ์ฐ์ฐ ํ์ i 2) ํด๋นํ๋ ์ฐ์ฐ ํ์ ์ดํ ..
[Python] ๋ฐฑ์ค 1463 1๋ก ๋ง๋ค๊ธฐ | DP
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://www.acmicpc.net/problem/1463 1463๋ฒ: 1๋ก ๋ง๋ค๊ธฐ ์ฒซ์งธ ์ค์ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 106๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ ์ N์ด ์ฃผ์ด์ง๋ค. www.acmicpc.net ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ์ ํ์ ์ธ ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ๋ฌธ์ ์ด๋ค. - ๊ฐ ์ธ๋ฑ์ค ๋ฒํธ๋ฅผ ๊ตฌํ๊ธฐ ์ํด์ ํ์ํ ์ต์ ์ฐ์ฐ์ ์ ์ฅํ ๋ฆฌ์คํธ๋ฅผ ์ ๋ ฅ ๋ฐ์ N ํฌ๊ธฐ๋ก ์์ฑ. - ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ ๋ฐํ ์ (BottomUp) : ๋ฐ๋ณต๋ฌธ ํ๋ค์ด(TopDown) : ์ฌ๊ท ๋ฐํ ์ ๋ฐฉ์์ด ์คํ ํฌ๊ธฐ ์ ํ์ผ๋ก๋ถํฐ ์์ ๋ก์์ผ๋ก, ์ฒ์ ์ฐ์ฐ์ ์ ์ฅํ์ฌ ์ดํ ๋์ผํ ์ฐ์ฐ ๋ฐ์์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋ณต ์ฐ์ฐ์ ํผํ ์ ์๋ค. - ์ต์ข ์ ์ผ๋ก 1์ ๋ง๋๋ ํ๋ก๊ทธ๋จ์ด๋ฏ๋ก 2๋ถํฐ ๊ตฌํ๋ ค๋ n๊น์ง ๊ฐ ์๋ฅผ ..
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ์ ๊ณ ๊ฒฐ๊ณผ ๋ฐ๊ธฐ | HashMap | HashSet
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/92334 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ํ์ด์ฌ์ฒ๋ผ ๋ฐฐ์ด์ ๋ค๋ฅธ ํ์ ์ ๋ฃ์ ์ ์๊ธฐ ๋๋ฌธ์ ํค๋งธ์ผ๋ Map ํด๋์ค์ value์ Set ํ์ ์ ๋ฃ์ - ๊ฐ ์ ๊ณ ์ด๋ ฅ์ ๋๋ฉฐ ์ ๊ณ ๋นํ ์ฌ๋์ด key๊ฐ, ์ ๊ณ ํ ์ฌ๋๋ค์ด value - ๊ฐ ์ ์ ๋ณ ์ ์ง ๋ฉ์ผ์ ์นด์ดํธ ํ๊ธฐ ์ํด LinkedHashMap์ ์ ์(๋จ์ HashMap์ผ๋ก ์์๋ฅผ ์ฅ๋ด๋ฐ์ ์ ์์) - ์ ๊ณ ๋ฐ์..
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ์์ ์ฐพ๊ธฐ | ์๋ผํ ์คํ ๋ค์ค์ฒด | ๊ณจ๋ ๋ฐํ์ ์ถ์ธก
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/12921 ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - 2์ค for๋ฌธ์ ์ด์ฉํ์ฌ ๊ฐ๋จํ๊ฒ ํด๊ฒฐ๊ฐ๋ฅํ ๋ฌธ์ ์ด์ง๋ง ํ์ต ๊ฒธ '์๋ผํ ์คํ ๋ค์ค์ ์ฒด' ๊ฐ๋ ์ ์ฌ์ฉํ์ฌ ํ์ดํ๋ค. - ์์๋ฅผ ์ฐพ์ผ๋ฉด ํด๋น ์์ ๋ฐฐ์๋ ๋ชจ๋ ์์๊ฐ ์๋๋ค. - boolean ๋ฐฐ์ด์ n+2(0๊ณผ n ํฌํจ) ์ ์ธํ์ฌ ์์๋ฅผ ๋ง๋ ๋๋ง๋ค ๋ฐฐ์๋ฅผ true ์ฒ๋ฆฌ ํ๋ค. - ๋ฐฐ์ด์์ false์ ์ธ๋ฑ์ค๊ฐ ์์์ด๋ค. ํ์ด์ฌ์ผ..
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ๋ชจ์๊ณ ์ฌ | ArrayList | Math
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/42840?language=java ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ํ์๋ณ ํจํด์ ์ ์ฅํ ๋ฐฐ์ด ์ ์ - answer๋ฅผ ๋๋ฉด์ ํด๋นํ๋ ๋ฒํธ์ ํ์์ด ์์ฑํ ๋ต๊ณผ ๋น๊ตํด ๋ง์ผ๋ฉด ++ - Math์ .max ๋ฉ์๋ ์ฌ์ฉํ์ฌ ์ต๋๊ฐ ์ฐพ๊ธฐ - ์ต๋๊ฐ๊ณผ ์ผ์นํ๋ ํ์์ด ๋ช๋ช ์ธ์ง ์ ์ ์์ผ๋ฏ๋ก ์ผ์นํ๋ ๋ฒํธ๋ฅผ ArrayList.add ๋ฅผ ์ด์ฉํ์ฌ ์ฝ์ - ์ผ์น ํ์์ ์์ ๋์ผํ..
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ํฌ์ผ๋ชฌ | HashSet
๐คซํผ์ฃ๋ง ์๋ฐ๋ฅผ ์ด์ฌํ ๊ณต๋ถํ๋ ๊ธฐ์ต + ํ์ด์ฌ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์์ฒด์ ๋ํ ์ดํด๋ ํฅ์ ์ด ๋๊ฐ์ง ๋๋ถ์ Python์ด ์๋ JAVA๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด์ ํ์ค์ด ์๋๊ฐ์ด ์๋ ๊ฒ๊ฐ๋ค! ํ์ง๋ง JAVA๋ง์ ๋ฌธ๋ฒ(HashSet, HashMap, Stream, String, StringBuilder, Arrays, Map ...)๊ณผ ๋ฐฐ์ด์ด๋ ๋ฌธ์์ด์ ๋ค๋ฃจ๋ ๋ฐฉ์์ด๋ ๋ถํ์ํ ์ ๋ ฅ( ์ธ๋ฏธ์ฝ๋ก (;), ๊ดํธ, ํ์ ์ ๋ ฅ ๋ฑ)์ ์๊ฐํ์ ๋ ํ์ด์ฌ์ด ์ฝ๋ฉํ ์ด์ค์์ ์ต๊ฐ์ด๋ผ๊ณ ์๊ฐํ๋ค.. ~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/1845?language=java ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ..
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ์ถ์ต ์ ์ | HashMap
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/176963?language=java ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ํด์ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ด์ฉํ๊ธฐ ์ํด HashMap ํด๋์ค๋ฅผ ์ฌ์ฉ - ๋์ฐฝ ์ด๋ฆ์ด key, ํด๋นํ๋ ์ ์๋ฅผ value๋ก ์ง์ ํ์ฌ ์ด๋ฆ์ ์ ๋ ฅํ์ ๋ ์ ์๋ฅผ ๋ฐ์ ์ ์๋๋ก ์์ฑ - ๊ฐ ์จ๋ฒ์ ์ด๋ฆ์ ๋๋ฉฐ ํด์์ ์ด๋ฆ์ด ์๋ค๋ฉด ํด๋นํ๋ ์ ์๋ฅผ ์ ๋ถ ๋ํ๋ค. ์์ฑ ์ฝ๋ import java.util.*; clas..
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค 2016๋
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/12901?language=java ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - 1์ 1์ผ์ด ๊ธ์์ผ์ด๋ฏ๋ก "FRI"๋ถํฐ ์์๋๋ก ์์ผ ๋ฐฐ์ด ์์ฑ - month[i] ๋ i+1์์ ์ผ ์ - 1์ 1์ผ๋ถํฐ ๋ฉฐ์น ์ง๋ฌ๋์ง ๊ธฐ๋กํ๋ days ๋ณ์ - 5์ ์ด๋ผ๋ฉด month[0]๋ถํฐ month[3]๊น์ง (1์๋ถํฐ 4์๊น์ง) ์ผ ์ ๋ํ๊ธฐ - ์ต์ข ์ ์ผ๋ก 1์ 1์ผ๋ถํฐ days์ผ ์ง๋ ๋ ์ ์ผ..
[JAVA] ํ๋ก๊ทธ๋๋จธ์ค ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์
~๋ชฉ์ฐจ~ ๋ฌธ์ ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ ์์ฑ ์ฝ๋ ๋ฌธ์ https://school.programmers.co.kr/learn/courses/30/lessons/142086?language=java ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์. programmers.co.kr ๋ฌธ์ ํด๊ฒฐ ํฌ์ธํธ - ๋ฌธ์์ด์ ํ๋์ฉ ๋ฐฉ๋ฌธํ๊ธฐ ์ํด split("") - ํด๋น ๋ฌธ์์ด์ ์์น๋ถํฐ 0๊น์ง ํ๋์ฉ ๋ฐฉ๋ฌธํ๋ฉฐ ๊ฐ์ ๋ฌธ์์ด์ด๋ผ๋ฉด(.equals) ๋จ์ด์ง ๊ฑฐ๋ฆฌ( i - j ) ์ ์ฅ ํ break - ๋ง์ฝ ๊ฐ์ ๊ธ์๋ฅผ ๋ง๋์ง ๋ชปํด ์ด๊ธฐํ ์(0)๋ผ๋ฉด -1๋ก ์ ๋ฐ์ดํธ ์์ฑ ์ฝ๋ class Solution { public..