
์ฌ๊ท ์๊ณ ๋ฆฌ์ฆ ์ฌ๊ท(Revursion) ํจ์๋ ํน์ ํจ์ ๋ด์์ ์์ ์ ๋ค์ ํธ์ถํ์ฌ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋๊ฐ๋ ํจ์์ด๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ์๋ ๋ฒ์์ ๋ฌธ์ ์์ ๋ ์์ ๋ฒ์์ ํ์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํจ์ผ๋ก์จ ์๋ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด ๋๊ฐ๋ ๋ฐฉ์์ด๋ค. ์ผ๋ฐ ๋ฐ๋ณต๋ฌธ์ ํตํด ๊ตฌํ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ ์ฌ๊ท ํจ์๋ฅผ ํตํด ๊ตฌํ์ด ๊ฐ๋ฅํ๋ฉฐ ๋ฐ๋๋ก ์ฌ๊ทํจ์๋ก ๊ตฌํ ๊ฐ๋ฅํ ๊ธฐ๋ฅ์ ๋ฐ๋ณต๋ฌธ์ผ๋ก ๊ตฌํ์ด ๊ฐ๋ฅํ๋ค. ์ฌ๊ท ํจ์๋ ํจ์ ๋ด์์ ์๊ธฐ ์์ ์ ๊ณ์ ํธ์ถํ๋ ๋ฐฉ์์ด๊ธฐ ๋๋ฌธ์ ํจ์ ์์ ๋ฐ๋์ ์ข ๋ฃ ๊ตฌ๊ฐ์ด ๋๋ BaseCase๋ฅผ ์๊ฐํ์ฌ ์ฝ๋๋ฅผ ๊ตฌํํด์ผ ํ๋ค. ์๋๋ ์ํ์์ ์ด๋ค. public class Recursion { public static void main(String[] args) { Function(); } public st..

๐กHashMap ์ด๋? HashMap์ Map ์ธํฐํ์ด์ค๋ฅผ ๊ตฌํํ ๋ํ์ ์ธ Map ์ปฌ๋ ์ ์ด๋ค. Map ์ธํฐํ์ด์ค๋ฅผ ์์ํ๊ณ ์๊ธฐ์ Map์ ์ฑ์ง์ ๊ทธ๋๋ก ๊ฐ์ง๊ณ ๋ค. Map์ ํค์ ๊ฐ์ผ๋ก ๊ตฌ์ฑ๋ Entry๊ฐ์ฒด๋ฅผ ์ ์ฅํ๋ ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง ์๋ฃ๊ตฌ์กฐ์ด๋ค. ์ฌ๊ธฐ์ ํค์ ๊ฐ์ ๋ชจ๋ ๊ฐ์ฒด์ด๋ค. ๊ฐ์ ์ค๋ณต ์ ์ฅ๋ ์ ์์ง๋ง, ํค๋ ์ค๋ณต์ ์ฅ ๋ ์ ์๋ค. ๋ง์ฝ ๊ธฐ์กด์ ์ ์ฅ๋ ํค์ ๋์ผํ ํค๋ก ์ ์ฅํ๋ฉด ๊ธฐ์กด์ ๊ฐ์ ์์ด์ง๊ณ ์๋ก์ด ๊ฐ์ผ๋ก ๋์น๋๋ค. HashMap์ ์ด๋ฆ ๊ทธ๋๋ก ํด์ฑ(Hashing)์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ๋ง์ ์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋ฐ ์์ด์ ๋ฐ์ด๋ ์ฑ๋ฅ์ ๊ฐ์ง๋ค. ์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด HashMap์ ๋ด๋ถ์ 'ํค'์ '๊ฐ'์ ์ ์ฅํ๋ ์๋ฃ๊ตฌ์กฐ๋ฅผ ๊ฐ์ง๋ค. HashMap์ ํด์ ํจ์๋ฅผ ํตํด 'ํค'์'๊ฐ์ด ์ ์ฅ๋๋ ์์น๋ฅผ..

๐ก ์ด์ง ํ์ = ์ด๋ถ ํ์ ( Binary Search ) ์ ๋ ฌ๋ ๋ฐฐ์ด ๋๋ ๋ฆฌ์คํธ์ ์ ํฉํ ๊ณ ์ ํ์ ๋ฐฉ๋ฒ ๋ฐฐ์ด์ ์ค์์ ์๋ ๊ฐ์ ์กฐ์ฌํ์ฌ ์ฐพ๊ณ ์ ํ๋ ํญ๋ชฉ์ด ์ผ์ชฝ ๋๋ ์ค๋ฅธ์ชฝ ๋ถ๋ถ ๋ฐฐ์ด์ ์๋์ง๋ฅผ ์์๋ด์ด ํ์์ ๋ฒ์๋ฅผ ๋ฐ์ผ๋ก ์ค์ธ๋ค. ์ฐพ๊ณ ์ ํ๋ ๊ฐ์ด ์ํด์์ง ์์ ๋ถ๋ถ์ ์ ํ ๊ณ ๋ คํ ํ์๊ฐ ์๊ธฐ ๋๋ฌธ์, ๋งค ๋จ๊ณ์์ ๊ฒ์ํด์ผ ํ ๋ฆฌ์คํธ์ ํฌ๊ธฐ๋ฅผ ๋ฐ์ผ๋ก ์ค์ธ๋ค. ์ด๋ฌํ ๋ฐฉ๋ฒ์ ๋ฐ๋ณต์ ์ผ๋ก ์ฌ์ฉํด ํ์ํ๋ ๋ฐฉ๋ฒ์ด ์ด์งํ์์ด๋ค. ๐ก ์ด์ง ํ์์ ๊ตฌํ 1. ํ์์ ๋์์ด ๋๋ ์๋ฃ๋ค์ด array[low] ์์๋ถํฐ array[high]์ ๋ค์ด์๋ค. ( ์ ๋ ฌ๋์ด์์ด์ผํจ ) ์ฆ, ์ด๋ค ์์ ์์ ํ์๋์ด์ผ ํ ๋ฒ์๋ low~high๊น์ง๊ฐ ๋๋ค. ๋งจ ์ฒ์ low์๋ 0๋ฒ index์ ๊ฐ, high์๋ n-1๋ฒ ..

๐กArrayList ArrayList๋ ์ธํฐํ์ด์ค๋ฅผ ์์๋ฐ์ ํด๋์ค๋ก ํฌ๊ธฐ๊ฐ ๊ฐ๋ณ์ ์ผ๋ก ๋ณํ๋ ์ ํ๋ฆฌ์คํธ์ด๋ค. ์ผ๋ฐ์ ์ธ ๋ฐฐ์ด๊ณผ ๊ฐ์ ์์ฐจ๋ฆฌ์คํธ์ด๋ฉฐ ์ธ๋ฑ์ค๋ก ๋ด๋ถ์ ๊ฐ์ฒด๋ฅผ ๊ด๋ฆฌํ๋ค๋์ ์ด ์ ์ฌํ์ง๋ง ํ๋ฒ ์์ฑ๋๋ฉด ํฌ๊ธฐ๊ฐ ๋ณํ์ง ์๋ ๋ฐฐ์ด๊ณผ๋ ๋ฌ๋ฆฌ ArrayList๋ ๊ฐ์ฒด๋ค์ด ์ถ๊ฐ๋์ด ์ ์ฅ ์ฉ๋(capacity)์ ์ด๊ณผํ๋ค๋ฉด ์๋์ผ๋ก ๋ถ์กฑํ ํฌ๊ธฐ๋งํผ ์ ์ฅ์ฉ๋(capacity)๊ฐ ๋์ด๋๋ค. ArrayList์์ ํน์ ์ธ๋ฑ์ค์ ๊ฐ์ฒด๋ฅผ ์ ๊ฑฐํ๊ฒ ๋๋ฉด, ์ ๊ฑฐํ ๊ฐ์ฒด์ ์ธ๋ฑ์ค๋ถํฐ ๋ง์ง๋ง ์ธ๋ฑ์ค๊น์ง ๋ชจ๋ ์์ผ๋ก 1์นธ์ฉ ์์ผ๋ก ์ด๋ํ๋ค. ๊ฐ์ฒด๋ฅผ ์ถ๊ฐํ๊ฒ ๋๋ฉด 1์นธ์ฉ ๋ค๋ก ์ด๋ํ๊ฒ ๋๋ค. ์ธ๋ฑ์ค ๊ฐ์ ์ ์งํ๊ธฐ ์ํด์ ์ถ๊ฐ/์ญ์ ์ ์ ์ฒด ๊ฐ์ฒด๊ฐ ์์น๋ฅผ ์ด๋ํ๋ค. ๋ฐ๋ผ์ ์ฆ์ ์์์ ์ด๋, ์ญ์ ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ArrayList..

๐ก 1. StringBuilder ์ฌ์ฉํ๋ ์ด์ ๊ธฐ์กด String ํด๋์ค์ ํ๊ณ String ํด๋์ค๋ ํ๋ฒ ์์ฑ๋๋ฉด ๋ฌธ์์ด์ด ๋ณ๊ฒฝ๋์ง ์์ผ๋ฏ๋ก ๋ถ๋ณํ ์ฑ์ง์ ๊ฐ์ง๊ณ ์๋ค. ๋ฐ๋ผ์ ๊ธฐ์กด ๋ฌธ์์ด์ ์๋ก์ด ๋ฌธ์์ด์ ์ถ๊ฐํ๊ณ ์ ํ๋ ๊ฒฝ์ฐ, ๋ฉ๋ชจ๋ฆฌ์์ ๋ฌธ์์ด์ด ์ถ๊ฐ๋๋๊ฒ์ด ์๋๋ผ, ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋์ด ๋ฌธ์์ด์ด ์์ฑ๋๋ค. ๋ฐ๋ผ์ ๋ฌธ์์ด์ ๋ณ๊ฒฝ์ด ๋น๋ฒํ ๊ฒฝ์ฐ StringBuilder ๋ฅผ ํ์ฉํด์ผ ํ๋ค. ์๋์ ๊ฐ์ด String sb="tesrStr";๋ก ์ ์ธํ๊ณ sb=sb.concat("12");๋ฅผ ์ํํ ๊ฒฝ์ฐ, sb ๋ฌธ์์ด์ ์ ์ฃผ์๊ฐ ํ ๋น๋๋ค. ๋ฌธ์์ด์ ๋ณ๊ฒฝํ ๋๋ง๋ค ์๋ก์ด ๋ฉ๋ชจ๋ฆฌ๊ฐ ํ ๋น๋๋ ๊ฒ์ ์์๋ญ๋น๊ฐ ์ผ์ด๋๊ธฐ ๋๋ฌธ์ StringBuilder๋ฅผ ํ์ฉํด์ผ ํ๋ค. ๐ก 2. StringBuilder Stri..

๐JAVA ํ๋ณํ ๋ชจ์ java ํ๋ณํ์ด ๊ณ์ ์กฐ๊ธ์ฉ ํท๊ฐ๋ ค์ ๋ฐ๋ก ์ ๋ฆฌํฉ๋๋ค. String -> int String s="123"; int num=Integer.parseInt(s); /// 123 String s="123"; int num=Integer.valueOf(s); // 123 int -> String null๊ฐ์ด ๋ค์ด์ค๋ฉด ์ค๋ฅ์ผ์ผํจ๋ค. int num=123; String s=Integer.toString(num); // "123" null๊ฐ์ด ๋ค์ด์ค๋ฉด "null"๋ฐํ (๊ถ์ฅ) int num=123; String s=String.valueOf(num); // "123" String -> Char String str="string"; str.charAt(1); // t Char -> Strin..

String ํด๋์ค java.lang.String ํด๋์ค C์ธ์ด์์๋ ๋ฌธ์์ด์ charํ ๋ฐฐ์ด๋ก ํํํ์ง๋ง, ์๋ฐ์์๋ ๋ฌธ์์ด์ ์ํ String ํด๋์ค๋ฅผ ๋ณ๋๋ก ์ ๊ณตํ๋ค. String ํด๋์ค์๋ ๋ฌธ์์ด๊ณผ ๊ด๋ จ๋ ์์ ์ ํ ๋ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์๋ ๋ค์ํ ๋ฉ์๋๊ฐ ํฌํจ๋์ด ์๋ค. ์ด๋ฌํ String ํด๋์ค๋ java.lang ํจํค์ง์ ํฌํจ๋์ด ์ ๊ณต๋๋ค. String ์ธ์คํด์ค๋ ํ๋ฒ ์์ฑ๋๋ฉด ๊ทธ ๊ฐ์ ์ฝ๊ธฐ๋ง ํ ์ ์๊ณ , ๋ณ๊ฒฝ ํ ์๋ ์๋ค. ์ด๋ฌํ ๊ฐ์ฒด๋ฅผ ์๋ฐ์์๋ ๋ถ๋ณ ๊ฐ์ฒด(immutable object)๋ผ๊ณ ํ๋ค. ์ฆ, ์๋ฐ์์ ๋ง์ (+)์ฐ์ฐ์๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ์์ด ๊ฒฐํฉ์ ์ํํ๋ฉด, ๊ธฐ์กด ๋ฌธ์์ด์ ๋ด์ฉ์ด ๋ณ๊ฒฝ๋๋ ๊ฒ์ด ์๋๋ผ ๋ด์ฉ์ด ํฉ์ณ์ง ์๋ก์ด String ์ธ์คํด์ค๊ฐ ์์ฑ๋๋ ๊ฒ์ด๋ค. charAt(..