์ „์ฒด ๊ธ€

์ „์ฒด ๊ธ€

    [PGM_12978] ๋ฐฐ๋‹ฌ  (java)

    [PGM_12978] ๋ฐฐ๋‹ฌ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/12978 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ฐฐ๋‹ฌ 5 [[1,2,1],[2,3,3],[5,2,2],[1,4,2],[5,3,1],[5,4,2]] 3 4 6 [[1,2,1],[1,3,2],[2,3,2],[3,4,3],[3,5,2],[3,5,3],[5,6,1]] 4 4 programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ๊ตฌํ˜„ 1. ๋ฌธ์ œ ์ดํ•ด ์ฃผ์–ด์ง€๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ •์ˆ˜์ธ N๊ณผ K ๊ทธ๋ฆฌ๊ณ  intํ˜• ์ด์ฐจ์› ๋ฐฐ์—ด road๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. N์€ ๋งˆ์„์˜ ๊ฐœ์ˆ˜ K๋Š” ํŠน์ • ์ž„๊ณ„๊ฐ’ ๊ทธ๋ฆฌ๊ณ  road๋Š” ๋งˆ์„๊ณผ ๋งˆ์„ ์‚ฌ์ด์˜ ๊ธธ์— ๋Œ€ํ•œ ์ •๋ณด๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์ด๋‹ค. road์˜ ์ฒซ๋ฒˆ์งธ ๊ฐ’์€ ์ฒซ๋ฒˆ์งธ ๋งˆ์„, ๋‘๋ฒˆ์งธ ๊ฐ’์€ ๋‘๋ฒˆ์งธ ๋งˆ์„ ๋งˆ์ง€๋ง‰์œผ๋กœ ..

    Java8์˜ Annotation

    Java8์˜ Annotation

    Annotation์˜ ๋ณ€ํ™” Java8์˜ Annoataion ์ œ๋„ˆ๋ฆญ ํƒ€์ž… ์„ ์–ธ๋ถ€์— ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. ์ค‘๋ณตํ•ด์„œ ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค. Annoation ๋‹ค์–‘ํ•œ ์œ„์น˜์— ์„ ์–ธํ•˜๊ธฐ Annotaiton์„ ๋‹ค์–‘ํ•œ ์œ„์น˜์— ์„ ์–ธํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” @Target์„ ์ •์˜ํ•ด์ฃผ์–ด์•ผํ•œ๋‹ค. @Target(ElementType.TYPE_PARAMETER) // Generic Type์œผ๋กœ ์„ ์–ธ ๊ฐ€๋Šฅ @Target(ElementType.TYPE_USE) // Type์„ ์–ธํ•˜๋Š” ๋ชจ๋“  ๊ณณ์—์„œ ์‚ฌ์šฉ public @interface Chicken { } ElementType.TYPE_PARAMETER : ์ œ๋„ˆ๋ฆญ์˜ Type parameter์— ์„ ์–ธ์ด ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ด์ค€๋‹ค. static class FeelsLikeChicken{ public static void ..

    [PGM_76502] ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ (java)

    [PGM_76502] ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ (java)

    ๋ฌธ์ œ๋งํฌ https://programmers.co.kr/learn/courses/30/lessons/76502 ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ด„ํ˜ธ ํšŒ์ „ํ•˜๊ธฐ programmers.co.kr ๋ฌธ์ œํ’€์ด ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ํ•ต์‹ฌ ์Šคํ‚ฌ ๐Ÿ‘จ๐Ÿป‍๐Ÿ’ป ๊ตฌํ˜„ 1. ๋ฌธ์ œ ์ดํ•ด ๊ด„ํ˜ธ๋กœ ์ด๋ฃจ์–ด์ง„ String์ด ์ฃผ์–ด์กŒ์„ ๋•Œ ํ•ด๋‹น ๊ด„ํ˜ธ๋ฅผ ํšŒ์ „ํ•ด์„œ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ๊ฐ€ ๋  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค. ์ด ๋•Œ ํšŒ์ „ํ•  ์ˆ˜ ์žˆ๋Š” ํฌ๊ธฐ๋Š” ์ฃผ์–ด์ง„ String์˜ ๊ธธ์ด๋งŒํผ๋งŒ ๊ฐ€๋Šฅํ•˜๋‹ค. 2. ์ ‘๊ทผ๋ฐฉ๋ฒ• A์™€ B๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋ผ๋ฉด AB๋„ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด์ด๋‹ค. ๋”ฐ๋ผ์„œ ์šฐ๋ฆฌ๋Š” ์˜ฌ๋ฐ”๋ฅธ ์ตœ์†Œํ•œ์˜ ๋‹จ์œ„์˜ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด๋“ค์„ ๊ตฌํ•ด์ฃผ๋ฉด ๋œ๋‹ค. String์˜ ๊ธธ์ด๋งŒํผ ํšŒ์ „ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๋œป์€ ํ•œ๋ฐ”ํ€ด๋งŒ ๋Œ ์ˆ˜ ์žˆ๋‹ค๋Š” ์˜๋ฏธ์™€ ๊ฐ™๋‹ค. ๋”ฐ๋ผ์„œ ์ตœ์†Œ๋‹จ์œ„์˜ ์˜ฌ๋ฐ”๋ฅธ ๊ด„ํ˜ธ ๋ฌธ์ž์—ด๋“ค๋กœ ์ด๋ฃจ..

    CompletableFuture๋กœ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€ํ•˜๊ธฐ!

    CompletableFuture๋กœ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ณต๋ถ€ํ•˜๊ธฐ!

    CompletableFuture Future์—์„œ๋„ ์–ด๋Š์ •๋„ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ์ง€๋งŒ, ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์ด ๋งŽ์•˜๋‹ค. get()์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ธ”๋กœํ‚น์„ ํ†ตํ•ด์„œ๋งŒ ์ฝœ๋ฐฑ์„ ์‹คํ–‰์‹œํ‚ฌ ์ˆ˜ ์—†๋‹ค. Future๋“ค์„ ์กฐํ•ฉํ•˜๋Š” ๊ฒƒ์— ์žˆ์–ด์„œ ์ œํ•œ๋œ๋‹ค. (๊ณผ๋ชฉ์˜ ์ •๋ณด๋ฅผ ๊ฐ€์ ธ์˜จ ๋’ค ๊ทธ ๊ณผ๋ชฉ์„ ์ˆ˜๊ฐ•ํ•˜๋Š” ํ•™์ƒ๋“ค์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์ด ์ œํ•œ๋œ๋‹ค.) ์˜ˆ์™ธ์ฒ˜๋ฆฌ๊ฐ€ ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์ ์„ ํ•ด๊ฒฐํ•˜๊ณ  ์ข€ ๋” ์™„๋ฒฝํ•œ ๋น„๋™๊ธฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์œ„ํ•ด Java8์— ์ƒˆ๋กœ ์ถ”๊ฐ€๋œ ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ CompletableFuture์ด๋‹ค. CompletableFuture ์ƒ์„ฑ CompletableFuture future = new CompletableFuture(); future.complete("jins"); future.get(); //String jins..