์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- java
- ์ธํ ๋ฆฌ์ ์ด
- ๊นํ๋ธ
- ๋ถํธ์บ ํ
- ๊ทธ๋ฆฌ๋
- spring data jpa
- Publishing
- ์ปฌ๋ ์ ํ๋ ์์ํฌ
- ๊ฑฐ๋ญ์ ๊ณฑ
- ์๊ณ ๋ฆฌ์ฆ
- ํ์ดํ๋ก๊ทธ๋๋ฐ
- ๋ฐฑ์ค์๊ณ ๋ฆฌ์ฆ
- ๋ฌธ์์ด๋ค์ง๊ธฐ
- ๊ณ์ฐ๊ธฐ๋ง๋ค๊ธฐ
- ๋ฐฑ์๋
- ์ ๋ค๋ฆญ์ค
- ์๋ฐ
- HTML
- FilterChain
- ์คํ๋ง
- Spring Security
- Spring Data JDBC
- ์๋ฃ๊ตฌ์กฐ
- ๋ฐ์ผ๋ฆฌ์ฝ๋ฉ
- ์ฒซ๊ธ์๋๋ฌธ์
- CLI๋ช ๋ น์ด
- fibonacci
- ํ๊ณ
- CSS
- testing
- Today
- Total
๋ชฉ๋ก๋ถํธ์บ ํ (41)
๋์ ๋ชจ์
โ๐ป Description Return String with one space from two spaces ๐ Flow - ๋จ์ด ํ ๊ธ์์ฉ ์ฝ์ด์์ ๋ด์ ๋ฌธ์๋ฐฐ์ด๋ณ์ ๋ง๋ค๊ธฐ => split() - ๊ณต๋ฐฑ 2๊ฐ๊ฐ ๋ค์ด์์ ๋ ๊ณต๋ฐฑ 1๊ฐ๋ฅผ words๋ก => join() - ๋ฌธ์๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ฆฌํด ๐ TIL ์ฝ๋๋ฅผ ์ด๊ฒ์ ๊ฒ ๋ง์ด ์ผ๋๋ฐ ๋จ ๋ ์ค๋ก ๋๋ ์ ์๋ ๊ฒ์ด ํ๋ฌดํ์ง๋ง ์ฝ๋๋ฅผ ๊ฐ์ (?)ํ๋ ๋ฐฉ๋ฒ์ ์์๋ค๊ณ ์๊ฐํ๊ธฐ๋ก,,, ๐ฉ๐ป๐ป ์ฝ๋ String[] words = str.split(" "); return String.join(" ", words);
โ๐ป Description 2์ฐจ์ ๋ฐฐ์ด์ ์ ๋ ฅ๋ฐ์ ๊ฐ ๋ฐฐ์ด๋ก ๋ง๋ HashMap ๋ฆฌํด ์ ์ถ๋ ฅ ์์ String[][] arr = new String[]{ {'make', 'Ford'}, {'model', 'Mustang'}, {'year', '1964'}, {'make', 'Bill'}, }; HashMap output = convertListToObject(arr); System.out.println(output) { "make" = "Ford" "model" = "Mustang", "year" = "1964" } ๐ Flow 1. ํด์๋งต ์์ฑ ๋ฐ ์ด๊ธฐํ 2. ๋น ๋ฐฐ์ด์ ๋น HashMap ๋ฆฌํด 3. 2์ฐจ์ ๋ฐฐ์ด์ ์ํํ๋ฉด์ - ์ค๋ณตํค == ์ด๊ธฐ๊ฐ => put 4. 2์ฐจ์๋ฐฐ์ด์ ํด์๋งต์ผ๋ก ... ์ ....
๐ Permutation & Combination ์์ด(Permutation): ์์ n๊ฐ ์ค์ m๊ฐ๋ฅผ ์ ํํ์ฌ ์์๋ฅผ ์งํค๋ฉด์ ๋ฝ๋ ๊ฒฝ์ฐ์ ์ ์กฐํฉ(Combination): ์์์ ์๊ด์์ด ์์ n๊ฐ ์ค์ m๊ฐ๋ฅผ ๋ฝ๋ ๊ฒฝ์ฐ์ ์ ! (factorial, ํฉํ ๋ฆฌ์ผ) n! ์ n์์๋ถํฐ 1์ฉ ๊ฐ์ํ์ฌ 1๊น์ง์ ๋ชจ๋ ์ ์์ ๊ณฑ (n ๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๋ชจ๋ ์์ ์ ์์ ๊ณฑ) ํฉํ ๋ฆฌ์ผ์์ 0! ๊ณผ 1! ์ 1 ๐ ์ค๋์ ์๊ฐ ์กฐ๊ฐ๋ชจ์ ๊ทธ๋ฆฌ๋ ์๋ฌด๋ฆฌ ๋ด๋ ๋ฌธ์ ๋ ์๊ฒ ๋๋ฐ ๊ตฌํ์ ๋ชปํ๊ฒ ์ด์ ์ ์ ๋ณด๋ฅํ๊ณ ์๋ฐ ๊ณต๋ถํ๋ค. ์๊ณ ๋ฆฌ์ฆ ๋๋ฌด ์ด๋ ต๋ค...ใ .ใ
๐ Greedy Algorithm ์ ํ์ ์๊ฐ๋ง๋ค ๋น์ฅ ๋์์ ๋ณด์ด๋ ์ต์ ์ ์ํฉ์ผ๋ก ์ต์ข ์ ์ธ ํด๋ต์ ๋๋ฌํ๋ ๋ฐฉ๋ฒ ์ ํ ์ ์ฐจ(Selection Procedure): ํ์ฌ ์ํ์์์ ์ต์ ์ ํด๋ต์ ์ ํ ์ ์ ์ฑ ๊ฒ์ฌ(Feasibility Check): ์ ํ๋ ํด๊ฐ ๋ฌธ์ ์ ์กฐ๊ฑด์ ๋ง์กฑํ๋์ง ๊ฒ์ฌ ํด๋ต ๊ฒ์ฌ(Solution Check): ์๋์ ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์๋์ง ๊ฒ์ฌํ๊ณ , ํด๊ฒฐ๋์ง ์์๋ค๋ฉด ์ ํ ์ ์ฐจ๋ก ๋์๊ฐ ์์ ๊ณผ์ ๋ฐ๋ณต ๐ค ํ์ ์๊ณ ๋ฆฌ์ฆ ์กฐ๊ฑด ํ์์ ์ ํ ์์ฑ(Greedy Choice Property): ์์ ์ ํ์ด ์ดํ์ ์ ํ์ ์ํฅ์ ์ฃผ์ง ์์ ์ต์ ๋ถ๋ถ ๊ตฌ์กฐ(Optimal Substructure): ๋ฌธ์ ์ ๋ํ ์ต์ข ํด๊ฒฐ ๋ฐฉ๋ฒ์, ๋ถ๋ถ ๋ฌธ์ ์ ๋ํ ์ต์ ๋ฌธ์ ํด๊ฒฐ ๋ฐฉ๋ฒ์ผ๋ก ๊ตฌ์ฑ ⇒ ํญ์ ์ต์ ์ ๊ฒฐ..
๐ ์๊ฐ ๋ณต์ก๋ ์๊ณ ๋ฆฌ์ฆ์์๋ ๋ฌธ์ ์ ๋ํ ํด๋ต์ ์ฐพ๋ ๊ฒ๊ณผ ํจ๊ป ์ผ๋ง๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋์ง๋ ์ค์ํ๋ค. ๋ฌธ์ ๋ฅผ ํ๋ค๊ฐ ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ ๋ญ๊ฐ ์์์ง, ์ด๊ฒ ์ ์ผ ์ข์ ๋ฐฉ๋ฒ์ด ๋ง์์ง ๊ณ ๋ฏผํ๋ ๊ฒ์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ณ ๋ฏผํ๋ค๋ ๊ฒ๊ณผ ๊ฐ๋ค. ๐ค ๊ฐ๋ ์ ๋ ฅ๊ฐ์ ๋ณํ์ ๋ฐ๋ผ ์ฐ์ฐ์ ์คํํ ๋, ์ฐ์ฐ ํ์์ ๋นํด ์ผ๋งํผ์ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋์ง๋ฅผ ๊ณ ๋ คํ๋ ๊ฒ ํจ์จ์ ์ธ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๊ฒ = ์ ๋ ฅ๊ฐ์ด ์ปค์ง์ ๋ฐ๋ผ ์ฆ๊ฐํ๋ ์๊ฐ์ ๋น์จ์ ์ต์ํํ ๊ฒ ๐ค ๋ถ๋ฅ ์ต์ ์ ๊ฒฝ์ฐ(Worst Case): ์ต์ ์ ์๋๋ฆฌ์ค๋ก, ๋น ์ค(Big-O) ํ๊ธฐ๋ฒ ์ฌ์ฉ ์ต์ ์ ๊ฒฝ์ฐ(Best Case): ์ต์ ์ ์๋๋ฆฌ์ค๋ก, ๋น ์ค๋ฉ๊ฐ(Big-Ω) ํ๊ธฐ๋ฒ ์ฌ์ฉ ํ๊ท ์ ์ธ ๊ฒฝ์ฐ(Average Case): ํ๊ท ์๊ฐ์ ๋ํ๋ด๋ฉฐ, ๋น ์ธํ(..
โ๐ป Description ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด์ ๊ตฌ์ฑํ๋ ๊ฐ ๋จ์ด์ ์ฒซ ๊ธ์๊ฐ ๋๋ฌธ์์ธ ๋ฌธ์์ด ๋ฆฌํด ๐ Flow 1. ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ง ๋จ์ด๋ฅผ์ ๋๋ฆฌ๋ฉด์ ๋ด์์ค ๋ฐฐ์ด ๋ง๋ค๊ธฐ - ๋จ์ด ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ => .split(); 2. ๊ฒฐ๊ณผ๊ฐ ๋ด์ ๋ณ์ ๋ง๋ค๊ธฐ 3. ๋จ์ด ์ํ => for - String.valueOf(), substring() 4. ๊ฐ ๋จ์ด ์ฒซ๊ธ์ ๋๋ฌธ์ => .toUpperCase() 5. ๋ฌธ์์ด join 5. ๋ฌธ์์ด ๋ฆฌํด ๐คฏ Difficulty ๋ฌธ์์ด์ ์ฝ์ด์ค๋ ๊ฒ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ ๋จ์ด ์์ ๋๋ฌธ์๋ก ๋ง๋๋ ๊ฒ ๐ช Attempt ๋จ์ด ๊ตฌ๋ถ → for๋ฌธ์์ ๋ฌธ์์ด ๋ฐ๋ณต → ์ฒซ ๊ธ์ ๋๋ฌธ์ splitํ ๋ฌธ์์ด join ๐ TIL split() ๋ฆฌํด: ๋ฌธ์์ด → ๋ฌธ์์ด ๋ฐฐ์ด Parameters..
โ๐ป Description ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ์ ์์๊ฐ ๋ค์งํ ๋ฌธ์์ด ๋ฆฌํด ์์ String output = firstReverse(“abcde”); System.out.println(output); /* ์ถ๋ ฅ๊ฐ edcba */ ๐ Flow 1. ์์๊ฐ ๋ค์งํ ๋ฌธ์์ด ๋ด์ ๋ณ์ 2. for loop => ๋ฌธ์์ด ์ฝ์ด์ค๊ธฐ 3. StringBuilder.reverse() ํ์ฉ 4. char[]๋ก ์ญ์๋ ์๋ก์ด char ๋ฐฐ์ด์ ์ ์ฅ ํ ๋ฌธ์์ด๋ก ๋ณํ ๐คฏ Difficulty ๋ฌธ์ ๋ฅผ ์์ฌ์ฝ๋๋ก ํํํ๊ธฐ ์ด๋ ค์ ๐ช Attempt ๋ ํผ๋ฐ์ค → ์ดํด → ๊ตฌํ ๐ TIL StringBuilder ๋ด๋ถ์ ๋ฒํผ๋ฅผ ๊ฐ์ง๊ณ ์์ด ๋ณ๊ฒฝ ๊ฐ๋ฅํ ๋ฌธ์์ด์ ๋ง๋ค ๋ ์ฌ์ฉ StringBuilder.reverse(): ๋ฌธ์์ด ์ญ์ ๋ฐฐ์น .t..
๐ Tree ๐ค ๊ฐ๋ ๊ณ์ธต์ ์๋ฃ๊ตฌ์กฐ ๋์ ์ ๋ณด์ ๊ฐ ํญ๋ชฉ๋ค์ ๊ณ์ธต์ ์ผ๋ก ์ฐ๊ด๋๋๋ก ๊ตฌ์กฐํ์ํค๊ณ ์ ํ ๋ ์ฌ์ฉํ๋ ๋น์ ํ ์๋ฃ๊ตฌ์กฐ ๋จ๋ฐฉํฅ ๊ทธ๋ํ ๊น์ด (depth) ๋ฃจํธ๋ก๋ถํฐ ํ์ ๊ณ์ธต์ ํน์ ๋ ธ๋๊น์ง์ ๊น์ด(depth)๋ฅผ ํํ ๋ ๋ฒจ(Level) ๊ฐ์ ๊น์ด๋ฅผ ๊ฐ์ง๊ณ ์๋ ๋ ธ๋์ ๋ฌถ์ ํ์ ๋ ธ๋(Sibling Node): ๊ฐ์ ๋ ๋ฒจ์ ๋๋ํ ์๋ ๋ ธ๋ ๋์ด(Height) ๋ฆฌํ ๋ ธ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฃจํธ๊น์ง์ ๋์ด(height)๋ฅผ ํํ ๋ฆฌํ ๋ ธ๋์ ์ง๊ฐ์ ์ ์ผ๋ก ์ฐ๊ฒฐ๋ ๋ ธ๋์ ๋์ด๋ฅผ ํํ ๋ถ๋ชจ ๋ ธ๋๋ ์์ ๋ ธ๋์ ๊ฐ์ฅ ๋์ height ๊ฐ์ +1ํ ๊ฐ์ ๋์ด๋ก ๊ฐ์ง ํธ๋ฆฌ ๊ตฌ์กฐ์ ๋์ด๋ฅผ ํํํ ๋์๋ ๊ฐ ๋ฆฌํ ๋ ธ๋์ ๋์ด๋ฅผ 0์ผ๋ก ๋์ ์๋ธ ํธ๋ฆฌ(Sub tree) ํธ๋ฆฌ ๊ตฌ์กฐ์ root์์ ๋ป์ด ๋์ค๋ ํฐ ํธ๋ฆฌ์ ๋ด๋ถ..