Banner

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



๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๋งค๊ฐœ๋ณ€์ˆ˜- ์ˆ˜์—ด์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด `sequence`- ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ์„ ๋‚˜ํƒ€๋‚ด๋Š” ์ •์ˆ˜ `k` ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค์™€ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค๋ฅผ ๋ฐฐ์—ด๋กœ returnํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฌธ์ œ ํˆฌํฌ์ธํ„ฐ, ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ‘ผ๋‹ค.- start: ์œˆ๋„์šฐ์˜ ์‹œ์ž‘ ์ธ๋ฑ์Šค- end: ์œˆ๋„์šฐ์˜ ๋ ์ธ๋ฑ์Šค (or ๋‹ค์Œ ํƒ์ƒ‰ํ•  ์œ„์น˜) `ํˆฌํฌ์ธํ„ฐ`ํ•˜๋‚˜์˜ ํฌ์ธํ„ฐ๋Š” ๋ฐฐ์—ด์˜ ์‹œ์ž‘์„, ๋‹ค๋ฅธ ํ•˜๋‚˜๋Š” ๋ฐฐ์—ด์˜ ๋์„ ๊ฐ€๋ฆฌํ‚ค๋ฉฐ ์‹œ์ž‘ํŠน์ • ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ตฌ๊ฐ„์„ ์ฐพ๋Š”๊ฒƒ์ด๋‹ค.  `์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜`๋ถ€๋ถ„ ๋ฐฐ์—ด, ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋ฌธ์ œ์—์„œ ์ž์ฃผ ์‚ฌ์šฉ๋˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ๊ตฌ๊ฐ„์„ ์ฐพ๊ฑฐ๋‚˜, ๊ณ ์ •๋œ ํฌ๊ธฐ ๊ตฌ๊ฐ„์˜ ํ•ฉ๊ณ„, ์ตœ๋Œ€๊ฐ’, ์ตœ์†Œ๊ฐ’ ๋“ฑ์„ ๊ตฌํ•  ๋•Œ ์œ ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹ ์กฐ์ด์Šคํ‹ฑ์„ ์–‘ ์˜†์œผ๋กœ ์ด๋™ํ•˜๋Š” ์ขŒ์šฐ ์ด๋™ ํšŸ์ˆ˜(move) ์กฐ์ด์Šคํ‹ฑ ์ขŒ์šฐ๋กœ ์ด๋™ํ•˜๋ฉด์„œ ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ๋ฅผ ์œ„ํ•ด ์ƒํ•˜ ์ด๋™ ํ•˜๋Š” ํšŸ์ˆ˜(answer) ๋‘ ๊ฐœ๋ฅผ answer์— ๋ˆ„์ ํ•˜๋ฉด์„œ ๋”ํ•ด์ค˜์•ผ ํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ ๋ฌธ์ œ๋˜๋Š” ๊ฒƒ์€ ๋‹จ๋ฐฉํ–ฅ์ด ์•„๋‹ˆ์•„ ์–‘์ชฝ(์ขŒ,์šฐ)๋กœ ์กฐ์ด์Šคํ‹ฑ์ด ์›€์ง์ผ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์žฅ ๋น ๋ฅธ ๊ฒฝ๋กœ๋ฅผ ์ฐพ์•„์•ผ ํ•œ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค. ์ด ๋•Œ ์—ฐ์†๋œ AAA์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ณ„์‚ฐ ํ•ด ์ฃผ์–ด์•ผ ํ•œ๋‹ค.  โœ… ์•ŒํŒŒ๋ฒณ ๋ณ€๊ฒฝ ํ˜„์žฌ ์ธ๋ฑ์Šค์—์„œ A๋ฅผ ๋นผ์ค€ ๊ฐ’  vs Z๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ ํ˜„์žฌ ์ธ๋ฑ์Šค๋ฅผ ๋นผ์ค€ ๊ฐ’ + 1๋‘ ๊ฐœ๋ฅผ ๋น„๊ตํ•ด์„œ ๋” ์ž‘์€ ๊ฐ’์„ ์„ ํƒํ•ด ์ค€๋‹ค.์ „์ž๋Š” ์Šคํ‹ฑ์„ ์ •๋ฐฉํ–ฅโ–ผ A๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ Z๋กœ ๋‚ด๋ ค๊ฐ€๋ฉด์„œ ๋ฐ”๊พธ๋Š” ๊ฑฐ๊ณ ํ›„์ž๋Š” ์Šคํ‹ฑ์„ ๋จผ์ € ์—ญ๋ฐฉํ–ฅโ–ฒ์œผ๋กœ 1์นธ ๋Œ๋ ค์„œ Z๋ฅผ ๋งŒ๋“  ๋‹ค์Œ์— ๋ฐ˜๋Œ€๋กœ ํ•ด๋‹น ์•ŒํŒŒ๋ฒณ์„ ์ฐพ์•„๊ฐ€..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹๋ฌธ์ œ์—์„œ ์ฃผ์–ด์ง„ ๊ฒƒn : ์ „์ฒด ํ•™์ƒ์˜ ์ˆ˜lost : ์ฒด์œก๋ณต ๋„๋‚œ๋‹นํ•œ ํ•™์ƒ๋“ค์˜ ๋ฒˆํ˜ธ๋“ค  (๋ฐฐ์—ด) reserve : ์—ฌ๋ฒŒ ๊ฐ€์ ธ์˜จ ํ•™์ƒ ๋ฒˆํ˜ธ๋“ค (๋ฐฐ์—ด)์ฒด์œก๋ณต์€ ์•ž,๋’ค ๋ฒˆํ˜ธ ํ•™์ƒ ์—๋งŒ ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ์Œ.๋„๋‚œ ๋‹นํ•œ ํ•™์ƒ๋“ค์€ ์—ฌ๋ถ„์ด ์—†์–ด์„œ ์ฒด์œก๋ณต ๋นŒ๋ ค์ค„ ์ˆ˜ ์—†์Œ.1. `lost`์™€ `reserve` ๋ฐฐ์—ด ์ •๋ ฌ 2. ์ฒด์œก์ˆ˜์—…์— ์ฐธ์—ฌํ•  ์ˆ˜ ์žˆ๋Š” ํ•™์ƒ์˜ ์ˆ˜ = ์ฒด์œก๋ณต์ด ์žˆ๊ฑฐ๋‚˜ ๋นŒ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ•™์ƒ๋“ค์˜ ์ˆ˜ `์ฒด์œก๋ณต์„ ๋„๋‚œ ๋‹นํ•˜์ง€ ์•Š์€ ํ•™์ƒ์˜ ์ˆ˜` + `๋„๋‚œ๋‹นํ–ˆ์ง€๋งŒ ์˜ˆ๋น„๋กœ ๋“ค๊ณ  ์˜จ ํ•™์ƒ์˜ ์ˆ˜` + `๋„๋‚œ๋‹นํ–ˆ์ง€๋งŒ ์ฒด์œก๋ณต์„ ๋นŒ๋ฆด ์ˆ˜ ์žˆ๋Š” ํ•™์ƒ์˜ ์ˆ˜`์ด ๋ชจ๋“  ํ•™์ƒ๋“ค์˜ ์ˆ˜๋ฅผ ๋ˆ„์ ํ•ด์„œ answer ๋ณ€์ˆ˜์— ๋‹ด์•„ ์ค€๋‹ค.  โœ… ์ฒด์œก๋ณต์„ ๋„๋‚œ ๋‹นํ•˜์ง€ ์•Š์€ ํ•™์ƒ์˜ ์ˆ˜= ์ „์ฒด ํ•™์ƒ์˜ ์ˆ˜ - ์ฒด์œก๋ณต์„ ๋„๋‚œ๋‹นํ•œ ํ•™..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹FILE_PATH ์ถœ๋ ฅ ์˜ˆ์‹œ๋ฅผ ๋ณด๊ณ  '/home/grep/src/' + F.BOARD_ID + '/' + F.FILE_ID + F.FILE_NAME + F.FILE_EXT์ด๋ ‡๊ฒŒ ๋ฌธ์ž์—ด์ด ๊ฒฐํ•ฉ๋œ ๊ตฌ์กฐ๋ผ๋Š” ๊ฑธ ์•Œ ์ˆ˜ ์žˆ์—ˆ๋‹ค. CONCAT์œผ๋กœ ํ•ด๋‹น ๋ฌธ์ž์—ด์„ ๋ชจ๋‘ ๊ฒฐํ•ฉ ํ•ด ์ค€๋‹ค. ์ฒ˜์Œ์—๋Š” ํ—ท๊ฐˆ๋ ค์„œ + ์—ฐ์‚ฐ์ž๋กœ ํ–ˆ๋Š”๋ฐ ,๋กœ ๊ฒฐํ•ฉ์„ ํ•ด ์ค˜์•ผ ํ•œ๋‹ค.  ๋‘ ํ…Œ์ด๋ธ” ์กฐ์ธํ•  ๋•Œ๋Š” BOARD_ID ์ปฌ๋Ÿผ์„ ๊ธฐ์ค€์œผ๋กœ ์กฐ์ธ ํ•ด ์ค€๋‹ค. WHERE ์ ˆ์—์„œ ์„œ๋ธŒ์ฟผ๋ฆฌ๋ฅผ ์“ด๋‹ค. ๋จผ์ € USED_GOODS_BOARD๋ฅผ ์กฐํšŒ์ˆ˜ ์ปฌ๋Ÿผ(VIEW) ๊ธฐ์ค€์œผ๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ํ•ด ์ฃผ๊ณ  ๊ทธ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ๊ฒƒ๋งŒ ๊ฐ€์ ธ์™€์•ผ ํ•˜๋‹ˆ๊นŒ LIMIT1 ์„ ๊ฑธ์–ด์ค€๋‹ค.  ๋งˆ์ง€๋ง‰์œผ๋กœ FILE_ID๋กœ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌํ•˜๋ฉด ๋~! ์‰ฝ๋‹คโญ 3. ์ •๋‹ต์ฝ”๋“œ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹๋งŒ๋“ค์–ด์ค„ ๋ฉ”์„œ๋“œ๋Š” 4๊ฐ€์ง€ - ์˜คํ”„๋‹ ๋ ์œ„์น˜๋กœ ์ด๋™ํ•˜๋Š” `SkipOp()` ๋ฉ”์„œ๋“œ- ๋ช…๋ น์ด "next" ์ด๋ฉด 10์ดˆ ๋’ค๋กœ ์ด๋™ํ•˜๋Š” `moveToNext()`๋ฉ”์„œ๋“œ- ๋ช…๋ น์ด "prev" ์ด๋ฉด  10์ดˆ ์•ž์œผ๋กœ ์ด๋™ํ•˜๋Š” `moveToPrev()` ๋ฉ”์„œ๋“œ- String ํƒ€์ž…์œผ๋กœ ์ž…๋ ฅ ๋ฐ›์€ ์‹œ๊ฐ„์„ LocalTime์œผ๋กœ ํ˜•๋ณ€ํ™˜ ํ•˜๋Š” `getTime()`๋ฉ”์„œ๋“œ "mm:ss" ํ˜•์‹์œผ๋กœ ๋ฐ›์•„์˜จ ์‹œ๊ฐ„์„ ":" ๊ธฐ์ค€์œผ๋กœ ๋ถ„, ์ดˆ ๋‹จ์œ„๋กœ ๋‚˜๋ˆ„์–ด ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.LocalTime์ด ๊ฐ€์ง„ ๋ฉ”์„œ๋“œ๋กœ ์‹œ๊ฐ„ ๊ณ„์‚ฐ์„ ํ•˜๊ณ , ๋ฐ˜ํ™˜ํ•  ๋•Œ๋Š” ๋‹ค์‹œ "mm:ss" ํ˜•์‹์œผ๋กœ ํฌ๋งคํŒ… ํ•ด์„œ ๋ฐ˜ํ™˜ํ•ด ์ฃผ์–ด์•ผ ํ•จ.ํ˜„์žฌ ์‹œ๊ฐ„์ด ์˜คํ”„๋‹ ์œ„์น˜ ์•ˆ์— ์žˆ์„ ๋•Œ๋Š” ์ž๋™์œผ๋กœ SkipOp() ๋ฉ”์„œ๋“œ๊ฐ€ ํ˜ธ์ถœ๋œ๋‹ค. โญ 3. ์ •๋‹ต์ฝ”๋“œimp..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช…๐Ÿ’ก 2. ์ ‘๊ทผ๋ฐฉ์‹ dfs(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)์œผ๋กœ A,E,I,O,U๋กœ ์กฐํ•ฉํ•ด์„œ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋‹จ์–ด๋ฅผ ๋ฆฌ์ŠคํŠธ์— ๋„ฃ์–ด ์ค€๋‹ค.๊ทธ๋ฆฌ๊ณ  list์˜ ์‚ฌ์ด์ฆˆ๋งŒํผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆฌ๋ฉด์„œ word๋ž‘ ์ผ์น˜ํ•˜๋Š” ๋‹จ์–ด๊ฐ€ ๋“ค์–ด ์žˆ๋Š” ์นธ์˜ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.  โญ 3. ์ •๋‹ต์ฝ”๋“œimport java.util.*;class Solution { static List list; static String [] words = {"A", "E", "I", "O", "U"}; public int solution(String word) { int answer = 0; list = new ArrayList(); dfs("", 0); ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…์ž…์ถœ๋ ฅ ์˜ˆ #1๋‹ค์Œ ๊ทธ๋ฆผ์€ ์ฃผ์–ด์ง„ ์ž…๋ ฅ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜๋ฅผ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 4๋ฒˆ๊ณผ 7๋ฒˆ์„ ์—ฐ๊ฒฐํ•˜๋Š” ์ „์„ ์„ ๋Š์œผ๋ฉด ๋‘ ์ „๋ ฅ๋ง์€ ๊ฐ 6๊ฐœ์™€ 3๊ฐœ์˜ ์†ก์ „ํƒ‘์„ ๊ฐ€์ง€๋ฉฐ, ์ด๋ณด๋‹ค ๋” ๋น„์Šทํ•œ ๊ฐœ์ˆ˜๋กœ ์ „๋ ฅ๋ง์„ ๋‚˜๋ˆŒ ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.๋˜ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•์œผ๋กœ๋Š” 3๋ฒˆ๊ณผ 4๋ฒˆ์„ ์—ฐ๊ฒฐํ•˜๋Š” ์ „์„ ์„ ๋Š์–ด๋„ ์ตœ์„ ์˜ ์ •๋‹ต์„ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2๋‹ค์Œ ๊ทธ๋ฆผ์€ ์ฃผ์–ด์ง„ ์ž…๋ ฅ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.2๋ฒˆ๊ณผ 3๋ฒˆ์„ ์—ฐ๊ฒฐํ•˜๋Š” ์ „์„ ์„ ๋Š์œผ๋ฉด ๋‘ ์ „๋ ฅ๋ง์ด ๋ชจ๋‘ 2๊ฐœ์˜ ์†ก์ „ํƒ‘์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฉฐ, ์ด ๋ฐฉ๋ฒ•์ด ์ตœ์„ ์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #3๋‹ค์Œ ๊ทธ๋ฆผ์€ ์ฃผ์–ด์ง„ ์ž…๋ ฅ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ์ž…๋‹ˆ๋‹ค. 3๋ฒˆ๊ณผ 7๋ฒˆ์„ ์—ฐ๊ฒฐํ•˜๋Š” ์ „์„ ์„ ๋Š์œผ๋ฉด ๋‘ ์ „๋ ฅ๋ง์ด ๊ฐ๊ฐ 4๊ฐœ์™€ 3๊ฐœ์˜ ์†ก์ „ํƒ‘์„ ๊ฐ€์ง€๊ฒŒ ๋˜๋ฉฐ, ์ด ๋ฐฉ๋ฒ•์ด ์ตœ..
๐Ÿ“‘ 1. ๋ฌธ์ œ์„ค๋ช… ๐Ÿ’ก 2. ๋‚˜์˜ ์ฝ”๋“œ ๋ฌธ์ œ์—์„œ ๊ตฌํ•ด์•ผ ํ•˜๋Š” ๊ฒƒ - ์ตœ๋Œ€ ๋ช‡ ๋ฒˆ ๋˜์ „์„ ๋Œ ์ˆ˜ ์žˆ๋Š”์ง€ ํšŸ์ˆ˜ ์ฆ‰, ์กด์žฌํ•˜๋Š” ๋˜์ „๋“ค์„๋กœ ๋„๋Š” ์ˆœ์„œ ๋ฐ”๊ฟ”๊ฐ€๋ฉด์„œ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ๋งŒ๋“ ๋‹ค.๋งŒ์•ฝ A,B,C ๋˜์ „์ด ์žˆ๋‹ค๋ฉด? `A-B-C`,`A-C-B`,`B-A-C`,`B-C-A`, `C-A-B`, `C-B-A` ์กฐํ•ฉ์„ ๋ชจ๋‘ ์ˆœํšŒํ•˜๋ฉด์„œ์ตœ๋Œ€๋กœ ๋ช‡ ๋ฒˆ ๋Œ ์ˆ˜ ์žˆ๋Š”์ง€ ์นด์šดํŒ… ํ•ด ์ค€๋‹ค. ๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ DFS(๊นŠ์ด ์šฐ์„  ํƒ์ƒ‰)๋ฐฑํŠธ๋ž˜ํ‚น๊ณผ dfs๋กœ ๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์กฐํ•ฉ ํ•ด ์ค€๋‹ค.depth ๋Š” ํƒ์ƒ‰ํšŸ์ˆ˜์ด๋‹ค.๊ตฌํ•˜๋Š” ์ˆœ๊ฐ„ answer = Math.max(answer, depth) ํ•ด์„œ ์ตœ๋Œ“๊ฐ’ ์—…๋ฐ์ดํŠธclass Solution { // ์ „์—ญ ๋ณ€์ˆ˜ ์„ ์–ธ public static int answer; // ์ตœ๋Œ€ ๋˜์ „ ํƒํ—˜ ํšŸ์ˆ˜ ..
์ธ์ ˆ๋ฏธ์˜€๋˜๊ฒƒ
'์ฝ”๋”ฉํ…Œ์ŠคํŠธ' ํƒœ๊ทธ์˜ ๊ธ€ ๋ชฉ๋ก
์ƒ๋‹จ์œผ๋กœ