Banner

My Tech Blog (Algorithm/JAVAํ…Œ์ŠคํŠธ)

๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ด ๋ฌธ์ œ๋Š” ํ•ด์‹œ๋งต์„ ์‚ฌ์šฉํ•ด์„œ ํ’€์—ˆ๋‹ค.๋ฐฐ์—ด์„ ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฐ ์ˆซ์ž์˜ ๋“ฑ์žฅ ํšŸ์ˆ˜๋ฅผ ์นด์šดํŠธํ•ด์„œ ํ•ด์‹œ๋งต์— ์ €์žฅํ•œ๋‹ค.  (key: ๋“ฑ์žฅํ•œ ์ˆซ์ž, value: ์นด์šดํŠธ)ํ•ด์‹œ๋งต์„ ์ˆœํšŒํ•˜๋ฉด์„œ ์ตœ๋นˆ๊ฐ’์„ ์ฐพ๋Š”๋‹ค. → maxCount๋ณด๋‹ค ๋” ํฐ count(value ๊ฐ’)์ด ์กด์žฌํ•˜๋ฉด maxCount๋ฅผ count๋กœ ์—…๋ฐ์ดํŠธ ํ•œ๋‹ค.์ด ๊ณผ์ •์—์„œ ๋“ฑ์žฅ ํšŸ์ˆ˜๊ฐ€ ๋™์ผํ•œ ๊ฐ’์ด ์žˆ๋Š”์ง€๋„ ํƒ์ƒ‰ํ•œ๋‹ค. ๋งŒ์•ฝ ์ค‘๋ณต๋œ ์ตœ๋นˆ๊ฐ’์ด ์žˆ์œผ๋ฉด isDuplicate๋ฅผ true๋กœ ๋ฐ”๊พผ๋‹ค. ์ตœ์ข…์ ์œผ๋กœ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์จ์„œ ์ค‘๋ณต์ด ์žˆ์œผ๋ฉด -1์„ ๋ฐ˜ํ™˜, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ตœ๋นˆ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.โญ 3. ์ •๋‹ต์ฝ”๋“œimport java.util.HashMap;import java.util.Map;class Solution { public int ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹ โœ”๏ธ ๋ฌธ์ œ ์š”์•ฝ - ์ง€๋ขฐ์ฐพ๊ธฐ ๊ฒŒ์ž„board๋Š” n x n ํฌ๊ธฐ์˜ 2D ๋ฐฐ์—ด์ด๋‹ค.์ง€๋ขฐ๊ฐ€ ์žˆ๋Š” ์œ„์น˜๋Š” 1, ์—†๋Š” ์œ„์น˜๋Š” 0์ด๋‹ค.์ง€๋ขฐ(1)๊ฐ€ ์žˆ๋Š” ๊ณณ์„ ๊ธฐ์ค€์œผ๋กœ ์ฃผ๋ณ€ 8๋ฐฉํ–ฅ + ์ž๊ธฐ ์ž์‹ ๊นŒ์ง€ ์œ„ํ—˜์ง€๋Œ€(1)๋กœ ํ‘œ์‹œํ•ด์•ผ ํ•œ๋‹ค.์ตœ์ข…์ ์œผ๋กœ ์•ˆ์ „ํ•œ ์ง€์—ญ(0)์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.โœ”๏ธ ํ’€์ด ๋ฐฉ์‹๋ฐฐ์—ด bd[][] ์ƒ์„ฑ → ๊ธฐ์กด board[][]์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.board[][] ์—์„œ ์ง€๋ขฐ(1)๋ฅผ ์ฐพ์œผ๋ฉด ์ฃผ๋ณ€ 8๋ฐฉํ–ฅ + ์ž๊ธฐ ์ž์‹ ์„ 1๋กœ ๋ณ€๊ฒฝํ•œ๋‹ค.์ด ๋•Œ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ฐฐ์—ด ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜์ง€ ์•Š๋„๋ก Math.min(), Math.max()๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ธ๋ฑ์Šค ์œ„์น˜๋ฅผ ์กฐ์ •ํ•œ๋‹ค.๋ชจ๋“  ์œ„ํ—˜์ง€๋Œ€๋ฅผ ํ‘œ์‹œํ•œ ํ›„ ๋‚จ์€ 0์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์–ด ๋ฐ˜ํ™˜ํ•œ๋‹ค.๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•ด ๋ณด์•˜๋‹ค. ์ง€๋ขฐ๊ฐ€ ์žˆ๋Š” ์œ„์น˜ ์ฆ‰, boa..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…Write a function to find the longest common prefix string amongst an array of strings.If there is no common prefix, return an empty string "".Note: All given inputs are in lowercase letters a-z. a-z์˜ ์†Œ๋ฌธ์ž ์•ŒํŒŒ๋ฒณ์œผ๋กœ ๋‹จ์–ด๋“ค๋กœ ๊ตฌ์„ฑ๋œ ๋ฐฐ์—ด์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, ๋ชจ๋“  ๋ฌธ์ž์—ด์— ๊ณตํ†ต๋˜๋Š” ๊ฐ€์žฅ ๊ธด ์ ‘๋‘์‚ฌ๋ฅผ ๋ฆฌํ„ดํ•˜๋ผ. ์ ‘๋‘์‚ฌ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ์—๋Š” ๋นˆ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋ผ. Example 1Input: ["flower","flow","flight"] Output: "fl" Example 2Input: ["dog","racecar","car"] Output..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ •์ด ๋ฌธ์ œ๋Š” queue ๋กœ ํ‘ธ๋Š” ๋ฌธ์ œ์ด๋‹ค (์ด๊ฑธ ์œ ์ถ”ํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„)card1๊ณผ card2๋Š” ๋ฌด์กฐ๊ฑด ์•ž๋ถ€ํ„ฐ ์‚ฌ์šฉํ•ด์•ผ ํ•จ์ˆœ์„œ๋ฅผ ๋’ค๋ฐ”๊ฟ€ ์ˆ˜ ์—†์Œ์ด ๋‘ ๋ฌธ์žฅ์€ FIFO ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ธ๋‹ค.๊ทธ๋ž˜์„œ card1, card2, goal ์„ ํ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•˜๋‹ค.  card1๊ณผ card2, goal์„ ํ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.goal์˜ front์™€ (card1 ๋˜๋Š” card2)์˜ front์˜ ๊ฐ’์„ ๋น„๊ตํ•œ๋‹ค.์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์นด๋“œ๊ฐ€ ์žˆ๋Š”๊ฐ€? (๊ฐ’์ด ๊ฐ™์œผ๋ฉด ์‚ฌ์šฉ ๊ฐ€๋Šฅ)Yes์ด๋ฉด ํ•ด๋‹น ํ์™€ goal์—์„œ ๊ฐ๊ฐ poll, ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด No๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…โœ… ๋ฌธ์ œ ์ด๋ฌธ์ œ๋Š” ์œ ๋Œ€์ธ ์—ญ์‚ฌ๊ฐ€ ํ”Œ๋ผ๋น„์šฐ์Šค ์š”์„ธํ‘ธ์Šค๊ฐ€ ๋งŒ๋“  ๋ฌธ์ œ์ด๋‹ค. N๋ช…์˜ ์‚ฌ๋žŒ์ด ์› ํ˜•ํƒœ๋กœ ์„œ ์žˆ๋‹ค. ๊ฐ ์‚ฌ๋žŒ์€ 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ฒˆํ˜ธํ‘œ๋ฅผ ๊ฐ–๊ณ  ์žˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž„์˜์˜ ์ˆซ์ž K๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์‚ฌ๋žŒ์„ ์—†์•ค๋‹ค.1๋ฒˆ ๋ฒˆํ˜ธํ‘œ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์„ ๊ธฐ์ค€์œผ๋กœ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์—†์•ค๋‹ค.์—†์•ค ์‚ฌ๋žŒ ๋‹ค์Œ ์‚ฌ๋žŒ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜๊ณ  ๋‹ค์‹œ K๋ฒˆ์งธ ์‚ฌ๋žŒ์„ ์—†์•ค๋‹ค.N๊ณผ K๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๋งˆ์ง€๋ง‰์— ์‚ด์•„ ์žˆ๋Š” ์‚ฌ๋žŒ์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” solution() ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•ด์ฃผ์„ธ์š” โœ… ์ œ์•ฝ์กฐ๊ฑดN๊ณผ K๋Š” 1์ด์ƒ 1000์ดํ•˜์˜ ์ž์—ฐ์ˆ˜์ด๋‹ค. โœ… ์ž…์ถœ๋ ฅ ์˜ˆNKreturn523 ๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ •์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ๊ทธ๋Œ€๋กœ ๊ทธ๋ฆผ์œผ๋กœ ๊ตฌํ˜„ํ•˜๋ ค๊ณ  ํ•œ๋‹ค.N = 5, K = 2 ์ด๊ณ  ์‚ฌ๋žŒ๋งˆ๋‹ค 1~5๋ฒˆ๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋ถ™์—ฌ ์›ํ˜•์œผ๋กœ ๋ฐฐ์น˜ํ•œ๋‹ค.๊ทธ๋ฆฌ๊ณ  ์ฒซ๋ฒˆ์งธ ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ • ๋ฌธ์ œ๋ฅผ ์š”์•ฝํ•˜๋ฉด ํ† ๋„ˆ๋จผํŠธ ๊ฒŒ์ž„์—์„œ ํŠน์ •ํ•œ ๋ฒˆํ˜ธ์˜ ๋‘ ์ฐธ๊ฐ€์ž๊ฐ€ ๋งŒ๋‚  ๋•Œ ๊นŒ์ง€ ๋ช‡ ๋ฒˆ์˜ ๊ฒฝ๊ธฐ๋ฅผ ์ง„ํ–‰ํ•ด์•ผ ํ•˜๋Š”์ง€ ํšŸ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.  ์ฒ˜์Œ์— ์ฐธ๊ฐ€์ž๋“ค์€ 1๋ถ€ํ„ฐ N๊นŒ์ง€ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›๋Š”๋‹ค.๊ทธ๋ฆฌ๊ณ  ๋‹ค์Œ ๋ผ์šด๋“œ์— ์ง„์ถœํ•œ ์ฐธ๊ฐ€์ž๋“ค์€ ๋‹ค์‹œ 1๋ถ€ํ„ฐ N/2 ๊นŒ์ง€์˜ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ›๋Š”๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆN=8, A=4, B=7 ์ด ๊ฒฝ์šฐ 8๋ช…์˜ ์ฐธ๊ฐ€์ž๋“ค์ด ๊ฒฝ๊ธฐ๋ฅผ ํ•  ๋•Œ 4๋ฒˆ ์„ ์ˆ˜์™€ 7๋ฒˆ ์„ ์ˆ˜๊ฐ€ ๋งŒ๋‚  ๋•Œ๊นŒ์ง€์˜ ๊ฒฝ๊ธฐ ํšŸ์ˆ˜๋ฅผ ์•„๋ž˜ ๊ทธ๋ฆผ์œผ๋กœ ๊ทธ๋ ค ๋ณด์•˜๋‹ค.๊ฐ ๋ผ์šด๋“œ์—์„œ 4๋ฒˆ๊ณผ 7๋ฒˆ์€ ํ•ญ์ƒ ์ด๊ฒจ์„œ ๋‹ค์Œ ๋ผ์šด๋“œ๋กœ ์ง„์ถœํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ํ’€์–ด์•ผ ํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.4๋ฒˆ๊ณผ 7๋ฒˆ์€ ๊ณ„์† ์ด๊ฒจ์„œ ๋‹ค์Œ ๋ผ์šด๋“œ๋กœ ์ง„์ถœํ•œ๋‹ค4๋ฒˆ์€ 3๋ฒˆ์„ ์ด๊ธฐ๊ณ , 1 ๋˜๋Š” 2๋ฒˆ์„ ์ด๊ฒจ์„œ ์ด 2๋ฒˆ ์ด๊ธด๋‹ค7๋ฒˆ์€ 8๋ฒˆ์„ ์ด๊ธฐ๊ณ , 5 ๋˜๋Š” 6๋ฒˆ์„ ์ด๊ฒจ์„œ ์ด ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ •๋ฌธ์ œ ์˜ˆ์‹œ์ฒ˜๋Ÿผ 5*5 ๊ฒฉ์ž๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ • ํ•ด ๋ณด๋ฉด ๊ฒฉ์ž์˜ ๊ฐ€์žฅ ์•„๋ž˜ ์นธ๋ถ€ํ„ฐ ์ธํ˜•์ด ์ฐจ๊ณก์ฐจ๊ณก ์Œ“์—ฌ ์žˆ๊ณ , ๊ฐ€์žฅ ์œ„์— ์žˆ๋Š” ์ธํ˜•์„ ์ง‘์–ด ์˜ฌ๋ฆด ์ˆ˜ ์žˆ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ "์ง‘์–ด ์˜ฌ๋ฆฐ ์ธํ˜•์€ ๋ฐ”๊ตฌ๋‹ˆ์— ์Œ“์ด๋Š”๋ฐ ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ฐ€์žฅ ์•„๋ž˜ ์นธ๋ถ€ํ„ฐ ์ธํ˜•์ด ์ˆœ์„œ๋Œ€๋กœ ์Œ“์ธ๋‹ค."๋ผ๋Š” ๋ถ€๋ถ„์„ ๋ณด๋ฉด ์Šคํƒ ๋ฌธ์ œ์ธ ๊ฑธ ๋ฐ”๋กœ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ๊ฒŒ์ž„ํ™”๋ฉด์ด๋‚˜ ๋ฐ”๊ตฌ๋‹ˆ๋ฅผ ์Šคํƒ์ด๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ๋Š” board ๋ฐฐ์—ด์„ ์Šคํƒ์œผ๋กœ ๋ณ€ํ™˜์‹œํ‚ค๋Š” ๊ฒƒ์ด ์–ด๋ ต๋‹ค. ๋งŒ์•ฝ์— ๊ฐ’์ด 0์ด ๋“ค์–ด์˜ค๋ฉด ๋นˆ ์นธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์Šคํƒ์— ๋„ฃ์ง€ ์•Š๋Š”๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํฌ๋ ˆ์ธ์ด ์ธํ˜•์„ ๊บผ๋‚ด๋Š” ๊ฒƒ์€ stack.pop()์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„ ๋กœ์ง 1. ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ๋นˆ ๊ฒฝ์šฐ -> ๋ฌด์กฐ๊ฑด ํ‘ธ์‹œ2. ๋ฐ”๊ตฌ๋‹ˆ๊ฐ€ ๋น„์ง€ ์•Š์€ ๊ฒฝ์šฐ  2-1. ๋ฐ”๊ตฌ๋‹ˆ์˜ ๊ฐ€์žฅ ์œ„์—..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…10์ง„์ˆ˜๋ฅผ ์ž…๋ ฅ๋ฐ›์•„ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•ด ๋ฐ˜ํ™˜ํ•˜๋Š” solution() ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•˜์„ธ์š” ์ œ์•ฝ์กฐ๊ฑดdecimal์€ 1์ด์ƒ 10์–ต ๋ฏธ๋งŒ์˜ ์ž์—ฐ์ˆ˜์ž…์ถœ๋ ฅ ์˜ˆdecimalreturn10101027110111234511000000111001 ๐Ÿ’ก 2. ํ’€์ด ๊ณผ์ •10์ง„์ˆ˜๋ฅผ 2์ง„์ˆ˜๋กœ ํ‘œํ˜„ํ•˜๋Š” ๊ณผ์ •์€ ์ด๋ฏธ ์ˆ˜ํ•™์ ์œผ๋กœ ์ฆ๋ช…๋œ ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ„๋‹จํ•˜๊ฒŒ ์ ๋Š”๋‹ค.10์ง„์ˆ˜ N์„ 2๋กœ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€, ์ฆ‰ %2 ์—ฐ์‚ฐ์„ ํ•œ ๊ฐ’์„ ์ €์žฅํ•˜๊ณ , N์€ ๋‹ค์‹œ 2๋กœ ๋‚˜๋ˆˆ๋‹ค.๋ชซ์ด 0์ด ์•„๋‹ˆ๋ผ๋ฉด ๋‚˜๋จธ์ง€๋ฅผ ๋ฒ„๋ฆฌ๊ณ  ๋‹ค์‹œ 1์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ชจ๋“  ๊ณผ์ •์ด ๋๋‚˜๊ณ  1์—์„œ ์ €์žฅํ•œ ์ˆ˜๋ฅผ ๋’ค๋ถ€ํ„ฐ ์ˆœ์„œ๋Œ€๋กœ ๊ฐ€์ ธ์™€ ๋ถ™์ธ๋‹ค.  ์˜ˆ๋ฅผ ๋“ค์–ด ์‹ญ์ง„์ˆ˜ 13์„ ์œ„ ๊ณผ์ •๋Œ€๋กœ 2์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ชจ์Šต์€ ์œ„ ๊ทธ๋ฆผ๊ณผ ๊ฐ™๋‹ค. 13์„ 2๋กœ ๋‚˜๋ˆ„์–ด๊ฐ€๋ฉด์„œ ๋‚˜๋ˆˆ ๋‚˜๋จธ์ง€๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ €์žฅํ•œ ํ›„, ..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'Algorithm/JAVAํ…Œ์ŠคํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ