Banner

My Tech Blog (์ฝ”๋”ฉํ…Œ์ŠคํŠธ)

์˜ค๋Š˜์˜ ๋ช…์–ธ
" ์šฐ๋ฆฌ๋Š” ์ž์‹ ์„ ์Šค์Šค๋กœ ์ •์˜ํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์ด๋‹ค. "
- ์˜คํ”„๋ผ ์œˆํ”„๋ฆฌ (๋ฏธ๊ตญ ๋ฐฉ์†ก์ธ, ์ž์„ ๊ฐ€)
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ํ’€์ด๊ณผ์ •โœ”๏ธanswer ๋ฐฐ์—ด ํฌ๊ธฐ = (num_list.length / n) x nํ–‰(row): `(num_list.length / n)`์—ด(column): `n`โœ”๏ธnum_list[i]๋ฅผ ์‚ฝ์ž…ํ•  answer ๋ฐฐ์—ด์˜ ์ธ๋ฑ์Šคํ–‰(row):  `i / n`์—ด(column): `i % n`  ๋ฌธ์ œ์˜ ์ž…๋ ฅ ์˜ˆ์‹œ์ฒ˜๋Ÿผ [1, 2, 3, 4, 5, 6, 7, 8], n = 2 ์ผ ๋•Œinum_list[i]i / n (ํ–‰ ์ธ๋ฑ์Šค)i % n (์—ด ์ธ๋ฑ์Šค) ๋ฐฐ์น˜ ๊ฒฐ๊ณผ0100answer[0][0] = 11201answer[0][1] = 22310answer[1][0] = 33411answer[1][1] = 44520answer[2][0] = 55621answer[2][1] = 66730answer[..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹ ํ’€์ด๋ฐฉ๋ฒ•1. dp[][] ๋ฐฐ์—ด ์„ ์–ธ 2. ์ฒซ ๋ฒˆ์งธ ์ค„ ๊ฐ’ ์ฑ„์šฐ๊ธฐ (dp[0][0] = triangle[0][0])2. ์™ผ์ชฝ ์ฒซ๋ฒˆ์งธ ์—ด์ธ dp[i][0] ๊ฐ’์€ ์ด์ „ ์ค„์˜ ์ฒซ ๋ฒˆ์งธ ๊ฐ’๋ผ๋ฆฌ ๋”ํ•ด์„œ ์ž…๋ ฅํ•œ๋‹ค. (dp[i][0] = dp[i-1][0] + triangle[i][0]) 3. ๊ทธ ์™ธ์˜ ๊ฐ’๋“ค์€ ์œ„์ชฝ๊ณผ ์™ผ์ชฝ์—์„œ ์˜ค๋Š” ๊ฐ’์„ ๋น„๊ตํ•˜์—ฌ ์ตœ๋Œ€๊ฐ’์„ ๋”ํ•˜๊ธฐ(dp[i][j] = Math.max(dp[i-1][j-1], dp[i-1][j]) + triangle[i][j]) ์ฆ‰, ์œ„์ชฝ์—์„œ ์˜ค๊ฑฐ๋‚˜ ์™ผ์ชฝ ์œ„์—์„œ ์˜จ ๊ฐ’ ์ค‘ ๋” ํฐ ๊ฐ’์— ํ˜„์žฌ triangle[i][j] ๊ฐ’์„ ๋”ํ•œ๋‹ค. dp[][] ๋ฐฐ์—ด ์„ ์–ธ๋‚˜์ฒ˜๋Ÿผ ์ˆ˜ํ•™์„ ์–ด๋ ค์›Œํ•˜๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๋ฐฐ์—ด์„ ๋ˆˆ์œผ๋กœ ๋ณด๊ธฐ ์‰ฝ๊ฒŒ ์‹œ๊ฐํ™” ํ•ด ๋ณด์•˜๋‹ค.์ฝ”..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๊ณ„์†๋˜๋Š” ํญ์šฐ๋กœ ์ผ๋ถ€ ์ง€์—ญ์ด ๋ฌผ์— ์ž ๊ฒผ์Šต๋‹ˆ๋‹ค. ๋ฌผ์— ์ž ๊ธฐ์ง€ ์•Š์€ ์ง€์—ญ์„ ํ†ตํ•ด ํ•™๊ต๋ฅผ ๊ฐ€๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ง‘์—์„œ ํ•™๊ต๊นŒ์ง€ ๊ฐ€๋Š” ๊ธธ์€ m x n ํฌ๊ธฐ์˜ ๊ฒฉ์ž๋ชจ์–‘์œผ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๊ทธ๋ฆผ์€ m = 4, n = 3 ์ธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค.  ๊ฐ€์žฅ ์™ผ์ชฝ ์œ„, ์ฆ‰ ์ง‘์ด ์žˆ๋Š” ๊ณณ์˜ ์ขŒํ‘œ๋Š” (1, 1)๋กœ ๋‚˜ํƒ€๋‚ด๊ณ  ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜, ์ฆ‰ ํ•™๊ต๊ฐ€ ์žˆ๋Š” ๊ณณ์˜ ์ขŒํ‘œ๋Š” (m, n)์œผ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ฒฉ์ž์˜ ํฌ๊ธฐ m, n๊ณผ ๋ฌผ์ด ์ž ๊ธด ์ง€์—ญ์˜ ์ขŒํ‘œ๋ฅผ ๋‹ด์€ 2์ฐจ์› ๋ฐฐ์—ด puddles์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ๊ณผ ์•„๋ž˜์ชฝ์œผ๋กœ๋งŒ ์›€์ง์—ฌ ์ง‘์—์„œ ํ•™๊ต๊นŒ์ง€ ๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ตœ๋‹จ๊ฒฝ๋กœ์˜ ๊ฐœ์ˆ˜๋ฅผ 1,000,000,007๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”. ์ œํ•œ์‚ฌํ•ญ๊ฒฉ์ž์˜ ํฌ๊ธฐ m, n์€ 1 ์ด์ƒ ..
๐Ÿ“‘ 1. ๊ฐ€์œ„๋ฐ”์œ„ ๋ณด โญ ์ •๋‹ต์ฝ”๋“œimport java.util.*;class Solution { public String solution(String rsp) { char[] arr = rsp.toCharArray(); StringBuilder sb = new StringBuilder(); for (char c : arr) { if (c=='2') { sb.append('0'); } else if (c=='0') { sb.append('5'); } else if (c=='5') { sb.append('2'); ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆletterresult".... . .-.. .-.. ---""hello" ".--. -.-- - .... --- -.""python" ๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ฃผ์–ด์ง„ ๋ชจ์Šค๋ถ€ํ˜ธ๋ฅผ morse.put() ์œผ๋กœ ํ•œ ์ค„์”ฉ ํ•ด์‹œ๋งต์— ์ถ”๊ฐ€ ํ•ด์•ผ ํ•œ๋‹ค๋Š” ๋ถ€๋ถ„์ด ๊ท€์ฐฎ์€ ๋ฌธ์ œ์ด๋‹ค. 1. HashMap์„ ์ด์šฉํ•ด ๋ชจ์Šค๋ถ€ํ˜ธ์™€ ์•ŒํŒŒ๋ฒณ์„ ํ‚ค,๊ฐ’ ์Œ์œผ๋กœ ์ €์žฅํ•˜๊ธฐ2. split() ๋ฉ”์„œ๋“œ๋กœ ๋ฌธ์ž์—ด์„ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ๋‚˜๋ˆ„๊ธฐ3. StringBuilder๋กœ ๋ฌธ์ž์—ด์„ ์กฐํ•ฉํ•ด์„œ ๋ฐ˜ํ™˜โญ 3. ์ •๋‹ต์ฝ”๋“œimport java.util.*; class Solution { public String solution(String letter) { Map morse = new HashMap(); // ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹๋™์ „ ๊ฑฐ์Šค๋ฆ„๋ˆ ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•˜๋‹ค.๊ฐœ๋ฏธ ๊ตฐ๋‹จ ๋ฌธ์ œ๋Š” ์ฃผ์–ด์ง„ ๊ฐ’์— ๋Œ€ํ•ด ๊ฐ ๊ฐœ๋ฏธ ์ข…๋ฅ˜๋ณ„๋กœ ๋ชซ์„ ์นด์šดํŠธํ•˜๊ณ  ๋‚˜๋จธ์ง€๋กœ ๋‹ค๋ฅธ ๊ฐœ๋ฏธ ์ข…๋ฅ˜๋ฅผ ์ฑ„์šด๋‹ค.๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๋ชซ์„ ๋จผ์ € ๊ตฌํ•˜๊ณ  ๋‚˜๋จธ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐฉ์‹์ด๋‹ค. ํ•ด๊ฒฐ ๋ฐฉ๋ฒ• ์žฅ๊ตฐ๊ฐœ๋ฏธ๋Š” 5์˜ ๊ณต๊ฒฉ๋ ฅ์„, ๋ณ‘์ •๊ฐœ๋ฏธ๋Š” 3์˜ ๊ณต๊ฒฉ๋ ฅ์„ ์ผ๊ฐœ๋ฏธ๋Š” 1์˜ ๊ณต๊ฒฉ๋ ฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.1. ๋จผ์ € hp๋ฅผ ์žฅ๊ตฐ๊ฐœ๋ฏธ(5 ๊ณต๊ฒฉ๋ ฅ)๋กœ ์ตœ๋Œ€ํ•œ ๋‚˜๋ˆ„์–ด ๋ชซ ๊ตฌํ•˜๊ธฐ2. ๋‚จ์€ ์ฒด๋ ฅ์„ ๋ณ‘์ •๊ฐœ๋ฏธ(3 ๊ณต๊ฒฉ๋ ฅ)๋กœ ์ตœ๋Œ€ํ•œ ๋‚˜๋ˆ„์–ด ๋ชซ ๊ตฌํ•˜๊ธฐ3. ๋‚˜๋จธ์ง€ ์ฒด๋ ฅ์„ ์ผ๊ฐœ๋ฏธ(1 ๊ณต๊ฒฉ๋ ฅ)๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ๋ชจ๋“  ๊ฐœ๋ฏธ์˜ ๋ชซ์„ ๋”ํ•˜๋ฉด ์ตœ์†Œ ๊ฐœ๋ฏธ์˜ ์ˆ˜๊ฐ€ ๋œ๋‹ค. โญ 3. ์ •๋‹ต์ฝ”๋“œclass Solution { public int solution(int hp) { int answer = 0; ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹๋งค์šฐ ์‰ฌ์šด ๋ฌธ์ œ์ด๋‹ค. ์˜ˆ์‹œ์—์„œ n์ด 20 ์ผ๋•Œ ๊ณฑ์ด 20์ธ ์ˆœ์„œ์Œ์€ (1, 20), (2, 10), (4, 5), (5, 4), (10, 2), (20, 1) ์ด๋ฏ€๋กœ 6์„ returnํ•œ๋‹ค. ์ฆ‰, n์˜ ์•ฝ์ˆ˜์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. 1๋ถ€ํ„ฐ n๊นŒ์ง€ for๋ฌธ์„ ๋Œ๋ ค n%i๊ฐ€ 0์œผ๋กœ ๋–จ์–ด์ง€๋ฉด ์นด์šดํŠธํ•ด์„œ answer์— ๋ˆ„์ ํ•œ๋‹ค. โญ 3. ์ •๋‹ต์ฝ”๋“œclass Solution { public int solution(int n) { int answer = 0; for (int i = 1; i
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹1. emergency ๋ฐฐ์—ด์„ ๋ณต์‚ฌํ•˜์—ฌ sorted ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜๊ณ  ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•œ๋‹ค. ์ด ๋•Œ ๋ณต์‚ฌ๋ฅผ ํ•˜๋Š” ์ด์œ ๋Š” ๊ธฐ์กด ๋ฐฐ์—ด์˜ ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•˜๋ฉด์„œ ์ˆœ์œ„๋ฅผ ๋งค๊ฒจ์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.2. ํ•ด์‹œ๋งต์„ ์‚ฌ์šฉํ•˜์—ฌ ์‘๊ธ‰๋„์™€ ์ˆœ์œ„๋ฅผ ๋งคํ•‘ํ•œ๋‹ค.HashMap rankMap์„ ์„ ์–ธํ•˜์—ฌ ์‘๊ธ‰๋„ ๊ฐ’ โ†’ ์ˆœ์œ„๋กœ ์ €์žฅํ•œ๋‹ค. sorted๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์ด๋ฏ€๋กœ, ํฐ ๊ฐ’์ผ์ˆ˜๋ก ๋†’์€ ์ˆœ์œ„๊ฐ€ ๋œ๋‹ค. `rankMap.put(sorted[i], sorted.length - i);` โ†’ ์‘๊ธ‰๋„๊ฐ€ ํด์ˆ˜๋ก ๋†’์€ ์ˆœ์œ„(ํฐ ๊ฐ’)๋กœ ๋งคํ•‘์ด ๋œ๋‹ค. 3. result ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•˜์—ฌ ์‘๊ธ‰๋„ ์ˆœ์œ„๋ฅผ ์ €์žฅํ•œ๋‹ค. ์ด ๋•Œ ๊ธฐ์กด emergency ๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ rankMap์—์„œ rankMap.get(emergency[i]) ์œผ๋กœ ํ•ด๋‹น ์‘..
์ƒ๋‹จ์œผ๋กœ