Banner

My Tech Blog (ํ•ด์„ค)

๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹ 1. ํ‰์ผ ์ฒดํฌstartday๋ฅผ ๊ธฐ์ค€์œผ๋กœ ํ‰์ผ(์›”~๊ธˆ)์˜ ์ธ๋ฑ์Šค๋ฅผ isWeekday ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค. (ํ‹€๋ฆผ) - ์ธ๋ฑ์Šค๊ฐ€ ๊ณ ์ •๋จstartday + j๋ฅผ ํ†ตํ•ด ํ˜„์žฌ ์š”์ผ์„ ์ง์ ‘ ๊ณ„์‚ฐํ•ด์„œ startday์— ๋”ฐ๋ผ ์š”์ผ์ด ๋™์ ์œผ๋กœ ๋ณ€ํ•˜๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค. % 7 ์—ฐ์‚ฐ์œผ๋กœ ์›”๊ธˆ(15)๋งŒ ๊ฒ€์‚ฌํ•˜๊ณ  ์ฃผ๋ง(0,6)์€ ์ถœ๊ทผ์‹œ๊ฐ„ ์ฒดํฌ์—์„œ ์ œ์™ธํ•˜๋„๋ก ํ•œ๋‹ค.2. ์ง์›๋ณ„ ์ถœ๊ทผ ๊ธฐ๋ก ํ™•์ธschedules[i] + 10์„ ๊ธฐ์ค€์œผ๋กœ ํ‰์ผ์˜ ์ถœ๊ทผ ๊ธฐ๋ก์„ ํ™•์ธํ•œ๋‹ค. - ์ด ๋•Œ ์‹œ๊ฐ„์ด 60๋ถ„์ด ๋„˜์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ +40์„ ํ•ด์„œ HHMM๋งž๊ฒŒ ์‹œ๊ฐ„์ด ํ‘œ์‹œ๋  ์ˆ˜ ์žˆ๋„๋ก ์ •ํ™•ํ•œ ์‹œ๊ฐ„ ๋ณด์ •์„ ํ•ด ์ค€๋‹ค. ํ•˜๋‚˜๋ผ๋„ ์ง€๊ฐํ•œ ๊ฒฝ์šฐ(์ถœ๊ทผ ์‹œ๊ฐ > ์ธ์ • ์‹œ๊ฐ), ํ•ด๋‹น ์ง์›์€ ์ƒํ’ˆ์„ ๋ฐ›์„ ์ˆ˜ ์—†๋‹ค.๋ชจ๋“  ํ‰์ผ์„ ์ง€๊ฐํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด..
๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm)๊ฐœ์š”greedyํ˜•์šฉ์‚ฌ - 1. ํƒ์š•์Šค๋Ÿฌ์šด 2.์š•์‹ฌ ๋งŽ์€  ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜(Greedy Algorithm)์€ ๋งค ์ˆœ๊ฐ„ ๊ฐ€์žฅ ์ตœ์ ์ด๋ผ๊ณ  ํŒ๋‹จ๋˜๋Š” ์„ ํƒ์„ ๋ฐ˜๋ณตํ•˜์—ฌ ์ตœ์ข… ํ•ด๋‹ต์„ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค. ์ฆ‰, ํ˜„์žฌ ๋‹จ๊ณ„์—์„œ์˜ ์ตœ์„ ์˜ ์„ ํƒ์ด ์ตœ์ข…์ ์œผ๋กœ๋„ ์ตœ์ ํ•ด(Optimal Solution)๊ฐ€ ๋œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๊ณ  ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•œ๋‹ค. ์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ ๋งŒ๋‚  ๊ฒฝ์šฐ ์‚ฌ์ „์— ์™ธ์šฐ๊ณ  ์žˆ์ง€ ์•Š์•„๋„ ํ’€ ์ˆ˜ ์žˆ๋Š” ๊ฐ€๋Šฅ์„ฑ์ด ๋†’์€ ๋ฌธ์ œ ์œ ํ˜•์ง€์—ญ ์ตœ์ ํ•ด(Local Optimum) → ์ „์—ญ ์ตœ์ ํ•ด(Global Optimum) ๋ณด์žฅ ๊ฐ€๋Šฅํ•ด์•ผ ํ•จํƒ์š•์  ์„ ํƒ(Greedy Choice)๊ณผ ์ตœ์  ๋ถ€๋ถ„ ๊ตฌ์กฐ(Optimal Substructure) ๋งŒ์กฑโœ… ๋™์  ํ”„๋กœ๊ทธ๋ž˜๋ฐ(Dynamic Programming)๊ณผ ์ฐจ์ด..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…  ๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ด ๋ฌธ์ œ๋Š” ์ €๋ฒˆ์— ํ’€์—ˆ๋˜ ๋‹จ์†์นด๋ฉ”๋ผ ๋ฌธ์ œ์™€ ๋น„์Šทํ•˜๋‹ค.  [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] (Java) ๋‹จ์†์นด๋ฉ”๋ผ (๊ทธ๋ฆฌ๋””/Greedy)๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ž…์ถœ๋ ฅ ์˜ˆ๋กœ ์ฃผ์–ด์ง„ route ๋ฐฐ์—ด์„ ๋ง‰๋Œ€๊ทธ๋ž˜ํ”„๋กœ ๊ทธ๋ ค ๋ดค๋‹ค. ์ตœ์†Œํ•œ์˜ ์นด๋ฉ”๋ผ๋ฅผ ๋ฐฐ์น˜ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๊ตฌ๊ฐ„ ์ข…๋ฃŒ ์œ„์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ ์ฐจ๋Ÿ‰์ด ๊ตฌ๊ฐ„์—์„œ ์นด๋ฉ”๋ผawesomepossum.tistory.com ์˜ˆ์‹œ ๊ทธ๋ž˜ํ”„๋Š” ๊ฐ ๋ฏธ์‚ฌ์ผ์„ ๋์  e ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์‹œํ‚จ ๋ชจ์–‘์ด๋‹ค.๊ทธ๋ž˜ํ”„์—์„œ (3,7)์™€ (4,8)์€ ์ˆœ์„œ๊ฐ€ ์ž˜๋ชป๋˜์—ˆ๋Š”๋ฐ ์˜ค๋ฅ˜๋กœ ์ถ”์ •๋œ๋‹ค.๋‹จ์†์นด๋ฉ”๋ผ ๋ฌธ์ œ์™€ ์š”๊ฒฉ์‹œ์Šคํ…œ ๋ฌธ์ œ์˜ ์ฐจ์ด๋Š” ๋์  ํฌํ•จ ์—ฌ๋ถ€์ด๊ณ  ๋‘˜ ๋‹ค ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•˜๋ฉด ๋œ๋‹ค. ๋ฌธ์ œ ํ’€์ด ๋ฐฉ๋ฒ•๋ฐฐ์—ด์„ ๋์  ๊ธฐ์ค€์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ๊ฐ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹ ๋ฌธ์ œ ์ œํ•œ์กฐ๊ฑด1. ํ•œ ๋ฒˆ์— ์ตœ๋Œ€ ๋‘๋ช…๊นŒ์ง€ ๋ณดํŠธ์— ํƒœ์šธ ์ˆ˜ ์žˆ์Œ2. ๋ชธ๋ฌด๊ฒŒ ํ•ฉ์ด `limit` ์ดํ•˜์—ฌ์•ผ ํ•จ ๋”ฐ๋ผ์„œ ์ตœ์†Œ๋ณดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ „๋žต์„ ์งœ๋ ค๋ฉด ๋ฐฐ์—ด์„ ์ •๋ ฌํ•˜์—ฌ ๊ฐ€์žฅ ๊ฐ€๋ฒผ์šด ์‚ฌ๋žŒ + ๊ฐ€์žฅ ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ ์กฐํ•ฉ์„ ์ง์ง€์–ด์•ผ ํ•จ.๊ฐ€์žฅ ํฐ ๋ชธ๋ฌด๊ฒŒ๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์„ ์ตœ๋Œ€ํ•œ ๋นจ๋ฆฌ ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ๋„ ๋ณดํŠธ ์‚ฌ์šฉ์„ ์ค„์ผ ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.๋งŒ์•ฝ ๋‘ ์‚ฌ๋žŒ์˜ ๋ชธ๋ฌด๊ฒŒ ํ•ฉ์ด limit ์ดํ•˜๋ผ๋ฉด, ํ•œ ๋ณดํŠธ์— ํƒœ์šธ ์ˆ˜ ์žˆ๋‹ค. ํ•ฉ์ด limit์„ ์ดˆ๊ณผํ•œ๋‹ค๋ฉด, ๋ฌด๊ฑฐ์šด ์‚ฌ๋žŒ์„ ๋ฐ˜๋“œ์‹œ ํ•œ ๋ช…๋งŒ ๋ณดํŠธ์— ํƒœ์›Œ์•ผ ํ•œ๋‹ค.์ด๋ ‡๊ฒŒ ํ•˜๋Š” ๊ฒƒ์ด ๋‚จ์€ ์‚ฌ๋žŒ๋“ค์„ ํšจ์œจ์ ์œผ๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ์ตœ์„ ์˜ ์„ ํƒ์ด๋‹ค. โญ 3. ์ •๋‹ต์ฝ”๋“œimport java.util.*;class Solution {    public int solution(i..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ด ๋ฌธ์ œ ํ•ต์‹ฌ์€ ์กฐ๊ฑด์— ๋”ฐ๋ผ์„œ STATUS ๋ผ๋Š” ์ปฌ๋Ÿผ์— ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ’์„ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค์ž๋ฐ”์—์„œ ์กฐ๊ฑด๋ฌธ์œผ๋กœ IF๋‚˜ CASE๋ฌธ ์“ฐ๋Š” ๊ฒƒ์ฒ˜๋Ÿผ MySQL ์—์„œ๋Š” SELECT ์ ˆ์— CASE ๋ฌธ์„ ์จ ์ค„ ์ˆ˜ ์žˆ๋‹ค.CASE WHEN ์ปฌ๋Ÿผ๋ช… = '์กฐ๊ฑด' THEN '๊ฒฐ๊ณผ๊ฐ’' ํ•ด ์ฃผ๋ฉด ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋‹ค๋ฅธ ๊ฒฐ๊ณผ๊ฐ€ ๋„์ถœ๋œ๋‹ค.๊ทธ๋ฆฌ๊ณ  CASE ๋ฌธ์„ ๋๋‚ผ ๋•Œ๋Š” END AS ๋ณ„์นญ์„ ์‚ฌ์šฉํ•œ๋‹ค ๋งŒ์•ฝ์— ๋‚˜์—ดํ•œ ์กฐ๊ฑด์— ํ•ด๋‹นํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ์˜ ๊ธฐ๋ณธ ๊ฐ’์„ ์ฃผ๊ณ  ์‹ถ๋‹ค๋ฉด WHEN ๋Œ€์‹  ELSE ์ ˆ์— ๊ธฐ๋ณธ๊ฐ’์„ ์„ธํŒ…ํ•ด ์ฃผ๋ฉด ๋œ๋‹ค. โญ 3. ์ •๋‹ต์ฝ”๋“œ๊ณ„์† ํ‹€๋ ค์„œ ์ถœ๋ ฅ์€ ์ž˜ ๋˜๋Š”๋ฐ ์™œ ํ‹€๋ฆฌ๋‚˜ ํ–ˆ๋”๋‹ˆ MySQL ์—์„œ ๊ธฐ๋ณธ๊ฐ’์€ ์˜ค๋ฆ„์ฐจ์ˆœ์ด์—ˆ๋‹ค์ฒ˜์Œ์— ๋‚ด๋ฆผ์ฐจ์ˆœ์ด ๊ธฐ๋ณธ๊ฐ’์ด๋ผ ์ƒ๊ฐํ•˜๊ณ  ์ƒ๋žตํ–ˆ์ŒORDER BY BOARD_ID;๋งŒ ์ผ๋”๋‹ˆ ๊ณ„..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹์ผ๋‹จ ์ˆซ์ž ์‚ฌ์ด์˜ ๊ทœ์น™์„ ์ฐพ์•„์ฃผ์—ˆ๋‹ค.  ๋…ธํŠธ์— ํ•ด์„œ ์ข€ ์ง€์ €๋ถ„ํ•œ๋ฐbrown + yellow๋ฅผ ํ•ด ์ค€ ๋’ค ๊ทธ ์ˆซ์ž์˜ ์•ฝ์ˆ˜๋ฅผ ๋ชจ๋‘ ์ฐพ์•„๋‚ธ๋‹ค. ์•ฝ์ˆ˜๋“ค์˜ ์ค‘๊ฐ„๊ฐ’์ด ์ฐพ๊ณ ์ž ํ•˜๋Š” ์ˆซ์ž์ด๋‹ค.๋Œ€์‹ , ์ž…์ถœ๋ ฅ ์˜ˆ๋ฅผ ๋ณด๋ฉด ๋” ํฐ ์ˆซ์ž๊ฐ€ ๊ฐ€๋กœ์ด๊ณ  ๋” ์งง์€ ์ˆซ์ž๊ฐ€ ์„ธ๋กœ๋‹ค. brownyellowreturn102[4, 3]81[3, 3]2424[8, 6] ์—ฌ๊ธฐ์„œ brown + yellow ํ•ด ์ฃผ๋ฉด ๊ฐ๊ฐ10+2 = 128 + 1 = 924 + 24 = 48 12์˜ ์•ฝ์ˆ˜ [1, 2, 3, 4, 6, 12]9์˜ ์•ฝ์ˆ˜ [1, 3, 9] 48์˜ ์•ฝ์ˆ˜ [1, 2, 3, 4, 6, 8, 12, 16, 24, 48] ์ค‘ ์ •๋‹ต์€ ์•ฝ์ˆ˜์˜ ๊ฐฏ์ˆ˜๊ฐ€ ์ง์ˆ˜๋ฉด ๊ฐ€์šด๋ฐ ์žˆ๋Š” ์ˆซ์ž ๋‘ ๊ฐœ ์ด๋‹ค. (์ถœ๋ ฅ์€ ํฐ ์ˆซ์ž ๋จผ์ € ํ•ด์•ผ ..
1. ๋ฌธ์ œ์„ค๋ช…2. ์ ‘๊ทผ๋ฐฉ์‹1) ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ’€๊ธฐ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•˜๋ฉฐ ๋‹ซํžŒ ๊ด„ํ˜ธ์™€ ์—ด๋ฆฐ ๊ด„ํ˜ธ์˜ ๊ฐฏ์ˆ˜๋ฅผ ๋ณ€์ˆ˜์— ์ €์žฅํ•˜๊ณ  ๊ฐœ์ˆ˜๊ฐ€ ๊ฐ™์œผ๋ฉด true, ํ‹€๋ฆฌ๋ฉด false ๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ• 2) ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ด„ํ˜ธ์˜ ์ง์„ ๋งž์ถ”๋Š” ๋ฐฉ๋ฒ•๋‹จ์ˆœํžˆ ์ƒ๊ฐํ•ด์„œ ๊ด„ํ˜ธ๊ฐ€ ์—ด๋ฆฐ ๊ฒฝ์šฐ ์Šคํƒ์— ๋„ฃ๊ณ , ๋‹ซํžŒ ๊ด„ํ˜ธ๊ฐ€ ๋‚˜์˜ค๋ฉด ์Šคํƒ์—์„œ ๊บผ๋‚ด๋Š” ๋ฐฉ์‹ 3. ๋ฌธ์ œํ’€์ด3-1. ์Šคํƒ ์‚ฌ์šฉํ•˜์ง€ ์•Š๊ณ  ํ’€๊ธฐํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ๋Š” ํ/์Šคํƒ ์นดํ…Œ๊ณ ๋ฆฌ์— ์žˆ๋Š” ๋ฌธ์ œ์ด์ง€๋งŒ ๊ตณ์ด ์Šคํƒ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ๊น”๋”ํ•˜๊ฒŒ ํ’€ ์ˆ˜ ์žˆ๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ฒ˜์Œ์—๋Š” ์—ด๋ฆฐ ๊ด„ํ˜ธ๋ฅผ openCnt, ๋‹ซํžŒ ๊ด„ํ˜ธ๋ฅผ closeCnt ์— ์ €์žฅํ•ด์„œ ๊ทธ ๊ฐฏ์ˆ˜๊ฐ€ ์ผ์น˜ํ•˜๋ฉด true๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ฝ”๋“œ๋ฅผ ์งฐ๋‹ค. class Solution {    boolean solution(String s) {     ..
1. ๋ฌธ์ œ์„ค๋ช…ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ํŒ€์—์„œ๋Š” ๊ธฐ๋Šฅ ๊ฐœ์„  ์ž‘์—…์„ ์ˆ˜ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. ๊ฐ ๊ธฐ๋Šฅ์€ ์ง„๋„๊ฐ€ 100%์ผ ๋•Œ ์„œ๋น„์Šค์— ๋ฐ˜์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜, ๊ฐ ๊ธฐ๋Šฅ์˜ ๊ฐœ๋ฐœ์†๋„๋Š” ๋ชจ๋‘ ๋‹ค๋ฅด๊ธฐ ๋•Œ๋ฌธ์— ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ๋ณด๋‹ค ๋จผ์ € ๊ฐœ๋ฐœ๋  ์ˆ˜ ์žˆ๊ณ , ์ด๋•Œ ๋’ค์— ์žˆ๋Š” ๊ธฐ๋Šฅ์€ ์•ž์— ์žˆ๋Š” ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋  ๋•Œ ํ•จ๊ป˜ ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค. ๋จผ์ € ๋ฐฐํฌ๋˜์–ด์•ผ ํ•˜๋Š” ์ˆœ์„œ๋Œ€๋กœ ์ž‘์—…์˜ ์ง„๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด progresses์™€ ๊ฐ ์ž‘์—…์˜ ๊ฐœ๋ฐœ ์†๋„๊ฐ€ ์ ํžŒ ์ •์ˆ˜ ๋ฐฐ์—ด speeds๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ๊ฐ ๋ฐฐํฌ๋งˆ๋‹ค ๋ช‡ ๊ฐœ์˜ ๊ธฐ๋Šฅ์ด ๋ฐฐํฌ๋˜๋Š”์ง€๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•˜์„ธ์š”. ์ œํ•œ ์‚ฌํ•ญ์ž‘์—…์˜ ๊ฐœ์ˆ˜(progresses, speeds๋ฐฐ์—ด์˜ ๊ธธ์ด)๋Š” 100๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค.์ž‘์—… ์ง„๋„๋Š” 100 ๋ฏธ๋งŒ์˜ ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.์ž‘์—… ์†๋„๋Š” 100 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'ํ•ด์„ค' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ