์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์ด์šฉํ•œ ํŽ˜์ด์ง• ๊ตฌํ˜„

2024. 9. 27. 03:45ยท๊ฐœ๋ฐœ

๋„ค์ด๋ฒ„ ์‡ผํ•‘ ์† ํŽ˜์ด์ง• ๊ธฐ๋Šฅ

 

๋„ค์ด๋ฒ„ ์‡ผํ•‘์ด๋‚˜ ์ง€๋ฉ”์ผ์„ ๋“ค์–ด๊ฐ€ ๋ณด๋ฉด ์ด๋Ÿฌํ•œ ํŽ˜์ด์ง€ ๋ชฉ๋ก๋“ค์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ๊ธฐ๋ฒ•์„ ํŽ˜์ด์ง•์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ •ํ™•ํ•˜๊ฒŒ ๋งํ•˜๋ฉด ์ „์ฒด ๋ฐ์ดํ„ฐ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญํ•œ ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ•˜๋Š” ์ •๋ ฌ ๋ฐฉ์‹์œผ๋กœ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

ํŽ˜์ด์ง•์ด ์—†์œผ๋ฉด ์šฐ๋ฆฌ๋Š” ๋Œ€์šฉ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ๋ฐ›์•„์„œ ํ•˜๋‚˜์˜ ์›น ํŽ˜์ด์ง€์— ๋‹ค ํ‘œํ˜„ํ•ด์•ผ ํ•œ๋‹ค. ๋„ค์ด๋ฒ„ ์‡ผํ•‘์—์„œ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋ฉด ์•ฝ 500๋งŒ ๊ฐœ์˜ ๋ชจ๋‹ˆํ„ฐ ๊ตฌ๋งค์ฒ˜๊ฐ€ ๋‚˜์˜ค๋Š”๋ฐ ์ด๋ฅผ ํ•˜๋‚˜์˜ ์›น ํŽ˜์ด์ง€ ๋ชจ๋‘ ๋ถˆ๋Ÿฌ์˜จ๋‹ค๋ฉด ์›น ํŽ˜์ด์ง€๋ฅผ ๋ถˆ๋Ÿฌ์˜ค๋Š” ์‹œ๊ฐ„๋„ ๋Š˜์–ด๋‚ ๋ฟ๋”๋Ÿฌ ๊ทธ๋งŒํผ ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ๋„ ์ฆ๊ฐ€ํ•œ๋‹ค. ๋˜ํ•œ, ๋งŽ์€ ์–‘์˜ ๋ชจ๋‹ˆํ„ฐ๋ฅผ ๋ณด์—ฌ์ฃผ๋‹ค ๋ณด๋‹ˆ ์Šคํฌ๋กค ๊ธธ์ด๋„ ์ƒ๋‹นํ•  ๊ฒƒ์ด๋‹ค. ๊ทธ๋ ‡๊ธฐ์— ์šฐ๋ฆฌ๋Š” ํŽ˜์ด์ง• ๊ธฐ๋ฒ•์œผ๋กœ ์›น ํŽ˜์ด์ง€์— ์ „์ฒด ๋ฐ์ดํ„ฐ ์ค‘ ์ผ๋ถ€๋งŒ์„ ๊ฐ€์ ธ์™€ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๋Š” ๊ฒƒ์ด๋‹ค.

 

๊ธฐ๋ณธ์ ์œผ๋กœ ํŽ˜์ด์ง• ๊ธฐ๋Šฅ์€ ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ ๊ตฌํ˜„ํ•˜๋ ค๋ฉด ๋ณต์žกํ•œ ๊ณผ์ •์„ ๊ฑฐ์ณ์•ผํ•œ๋‹ค.

 

url ์† ํŽ˜์ด์ง• ํŒŒ๋ผ๋ฏธํ„ฐ๊ฐ€ ๋ณด์ธ๋‹ค.

 

๋„ค์ด๋ฒ„ ์‡ผํ•‘์—์„œ ์•„๋ฌด๊ฑฐ๋‚˜ ๊ฒ€์ƒ‰ ํ›„์— 2ํŽ˜์ด์ง€๋กœ ๋„˜์–ด๊ฐ€๋ฉด ์ด ์‚ฌ์ง„์ฒ˜๋Ÿผ pagingIndex=2์™€ pagingSize=40๊ณผ ๊ฐ™์€ ์ฟผ๋ฆฌ์ŠคํŠธ๋ง์ด ํ•จ๊ป˜ ๋„˜์–ด๊ฐ€๋Š”๋ฐ, ์Šคํ”„๋ง ๋ถ€ํŠธ์—์„œ๋Š” ์ด๋ ‡๊ฒŒ ๋„˜์–ด์˜จ ํŽ˜์ด์ง• ์ •๋ณด์™€ ์ „์ฒด ๋ฐ์ดํ„ฐ ์ •๋ณด ๋“ฑ์„ ํ™œ์šฉํ•ด ๊ฐ€๋ฉฐ ์ง์ ‘ ๊ตฌํ˜„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜๋ฅผ ๊ฐ€์ ธ์™€ ์ „์ฒด ํŽ˜์ด์ง€ ๊ฐœ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜๊ณ , ํ˜„์žฌ ํŽ˜์ด์ง€์—์„œ ๋ณด์—ฌ์ค„ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ณ , ํ˜„์žฌ ํŽ˜์ด์ง€๊ฐ€ ์ฒซ ๋ฒˆ์งธ ํŽ˜์ด์ง€์ธ์ง€ ๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€์ธ์ง€ ๋“ฑ๋“ฑ.. ๋งŽ์€ ์ผ๋“ค์„ ํ•ด์•ผ ํ•œ๋‹ค. ์ด ๊ณผ์ •์—์„œ ๋ฐ์ดํ„ฐ ์š”์ฒญ๊ณผ ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜ ์š”์ฒญ์œผ๋กœ 2๋ฒˆ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘๊ทผ๋„ ๋ฌด์‹œํ•  ์ˆ˜ ์—†๋‹ค.

 

๊ทธ๋ž˜์„œ Spring ํ”„๋ ˆ์ž„์›Œํฌ์—์„œ๋Š” Spring Data JPA์˜ Page์™€ Pageable์„ ์ด์šฉํ•˜์—ฌ ๋งŽ์ด ํŽ˜์ด์ง•์„ ๊ตฌํ˜„ํ•œ๋‹ค.

 

Pageable

Pageable์€ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ, ํŽ˜์ด์ง€ ํฌ๊ธฐ, ์ •๋ ฌ ์ •๋ณด๋“ค์„ ๋‹ด์€ ์ธํ„ฐํŽ˜์ด์Šค์ด๋‹ค. ํด๋ผ์ด์–ธํŠธ๋กœ๋ถ€ํ„ฐ์˜ ํŽ˜์ด์ง€ ์š”์ฒญ์„ ๋‹ด๋‹นํ•˜๋ฉฐ ํ•ด๋‹น ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ํ†ตํ•ด Spring Data JPA ๋ฆฌํฌ์ง€ํ† ๋ฆฌ๋กœ DB์— ์ ‘๊ทผ ์‹œ ์ž๋™์œผ๋กœ limit ์กฐ๊ฑด์„ ๋ถ™์—ฌ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€์ ธ์˜จ๋‹ค. ์ธํ„ฐํŽ˜์ด์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ตฌํ˜„์ฒด๋กœ PageRequest ํด๋ž˜์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ PageRequest.of(page, size, sort) ๋ฉ”์„œ๋“œ๋กœ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.

 

Page

Pageable๋กœ ์š”์ฒญํ•  ํŽ˜์ด์ง€ ์ •๋ณด๋ฅผ ๋„˜๊ฒจ ๊ฐ€์ ธ์˜จ ๋ฐ์ดํ„ฐ๋Š” Page๋ผ๋Š” ๊ฐ์ฒด์— ๊ฐ์‹ธ์ ธ ๋ฐ˜ํ™˜๋œ๋‹ค. ๋ฐ˜ํ™˜๋œ Page ๊ฐ์ฒด์—๋Š” ์ „์ฒด ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜, ํŽ˜์ด์ง€ ๊ฐœ์ˆ˜, ํ•œ ํŽ˜์ด์ง€๋‹น ๋ฐ์ดํ„ฐ ๊ฐœ์ˆ˜, ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ๋“ฑ ํŽ˜์ด์ง€๋ฅผ ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ํ•„์š”ํ•œ ์ •๋ณด๋“ค์ด ํ•จ๊ป˜ ๋ฐ˜ํ™˜๋˜๊ธฐ ๋•Œ๋ฌธ์— ์‰ฝ๊ฒŒ ํŽ˜์ด์ง• ์ •๋ณด๋“ค์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

๊ตฌํ˜„

๊ฐœ์ธ์ ์œผ๋กœ ์—ฐ์Šตํ•˜๊ณ  ์žˆ๋Š” ๋ธ”๋กœ๊ทธ ํ”„๋กœ์ ํŠธ์— ํ•œ๋ฒˆ ํŽ˜์ด์ง•์„ ์ ์šฉ์‹œ์ผœ ๋ณด์•˜๋‹ค.

 

๋จผ์ €, ํŽ˜์ด์ง•์ด ์ œ๋Œ€๋กœ ๋˜๋Š”์ง€๋ฅผ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด์„œ ์Šคํ”„๋ง ํ…Œ์ŠคํŠธ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ†ตํ•ด ๋”๋ฏธ ๋ฐ์ดํ„ฐ 300๊ฐœ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ถ”๊ฐ€ํ•ด ์ฃผ์—ˆ๋‹ค. ํ•ด๋‹น ๋‚ด์šฉ์€ ์ ํ”„ ํˆฌ ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์ฐธ๊ณ ํ•˜์˜€๋‹ค!!

 

Test Code

 

๊ทธ๋ฆฌ๊ณ , ์‹ค์งˆ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์กฐ์ž‘ํ•˜๋Š” Jpa Repository์— Page๋กœ ๊ฐ์‹ผ PostEntity๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ƒˆ๋กœ์šด ๋ฉ”์„œ๋“œ๋ฅผ ์ •์˜ํ•˜์˜€๋‹ค.

Repository

 

๋‹ค์Œ์€ Service ์ฝ”๋“œ์ด๋‹ค. ์‚ฌ์šฉ์ž๊ฐ€ ๋ˆ„๋ฅธ ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ๋“ค์–ด์˜ค๋Š” ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ๋Š” 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜์ง€๋งŒ, ์‹ค์ œ ํŽ˜์ด์ง• ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด์„œ๋Š” 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ํ•ด์•ผ ํ•˜๋ฏ€๋กœ ๋„˜๊ฒจ๋ฐ›์€ pageable ๊ฐ์ฒด์—์„œ page ๋ฒˆํ˜ธ๋ฅผ -1 ํ•ด์ฃผ๋ฉฐ size ๋ณ€์ˆ˜์— ํ•˜๋‚˜์˜ ํŽ˜์ด์ง€์—์„œ ์ฝ์„ ํฌ๊ธฐ๋ฅผ ๋ฐ›์•„์˜จ๋‹ค.

 

์—…๋ฐ์ดํŠธ๋œ ํ•ด๋‹น ์ •๋ณด๋“ค์„ ๋ฐ”ํƒ•์œผ๋กœ ๋‹ค์‹œ PageRequest.of๋กœ ์ƒˆ๋กœ์šด Pageable ๊ฐ์ฒด๋ฅผ ๋งŒ๋“ ๋‹ค. ๋งŒ๋“ค๋ฉด์„œ ์ •๋ ฌ ๊ธฐ์ค€๋„ 'createdTime'์„ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๋„๋ก ํ–ˆ๋‹ค. ๊ทธ๋ž˜์•ผ ์ตœ์‹ ๊ธ€๋ถ€ํ„ฐ ๋ณด์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ์ด์ œ, Repository์— ์ด์ „์— ๋งŒ๋“ค์—ˆ๋˜ findAll ๋ฉ”์„œ๋“œ๋กœ Page์— ๋‹ด๊ธด PostEntity ๋ชฉ๋ก๋“ค์„ ๊ฐ€์ ธ์˜จ๋‹ค.

Service

 

๊ฐ„๋‹จํ•˜๊ฒŒ ์ œ๋ชฉ๊ณผ ์ž‘์„ฑ์ผ๋งŒ ๋ณด์—ฌ์ฃผ๋„๋ก ํ•˜์˜€๊ณ  ๋„˜๊ฒจ๋ฐ›์€ Page<PostEntity>๋ฅผ Page<PostListDTO>๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค. 

DTO

 

์ด๋ ‡๊ฒŒ ๊ตฌํ˜„ํ•œ ๊ฒƒ์„ ๋ฐ”ํƒ•์œผ๋กœ Controller๋ฅผ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ตฌ์„ฑํ•˜๊ณ  ์‹คํ–‰ํ•˜์˜€๋‹ค.

Controller

 

ํŽ˜์ด์ง€๋ฅผ ์ฝ์–ด์™€์„œ ๋ณด์—ฌ์ฃผ๊ธฐ๋งŒ ํ–ˆ์ง€ ์•„์ง ํŽ˜์ด์ง€ ์ •๋ณด๋“ค์„ ํ™œ์šฉํ•˜์ง€ ์•Š์•„์„œ ๋ฐ‘์— ํŽ˜์ด์ง€๋ฅผ ์„ ํƒํ•˜๋Š” ๋‚ด๋น„๊ฒŒ์ด์…˜์€ ์—†์ง€๋งŒ ์ •์ƒ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๋ชจ์Šต์„ ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

/post?page=4

 

url/post?page=4 ์ด๋ ‡๊ฒŒ URL์„ ๋ณ€๊ฒฝํ•˜์—ฌ๋„ ํ•œ ํŽ˜์ด์ง€์— 10๊ฐœ๋ฅผ ์—ญ์ˆœ์œผ๋กœ ์ •ํ™•ํžˆ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ๋‹ค. ์ด์ œ ์•„๋ž˜ ํŽ˜์ด์ง€๋ฅผ ์‰ฝ๊ฒŒ ์ด๋™ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋‚ด๋น„๊ฒŒ์ด์…˜ ๋ฐ”๋ฅผ ๋งŒ๋“ค์–ด ๋ณผ ์ฐจ๋ก€์ด๋‹ค. ๋‚˜๋Š” ํ‘œ์‹œ๋˜๋Š” ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ์™€ url์— ๋„˜๊ฒจ์ง€๋Š” ํŽ˜์ด์ง€ ๋ฒˆํ˜ธ ๋ชจ๋‘ 1๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜๊ณ  ์„œ๋ฒ„์—์„œ ์ฒ˜๋ฆฌํ•  ๋•Œ๋งŒ ๋ชจ๋‘ 0๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๋„๋ก ํ•˜์˜€๋‹ค. ๊ทธ๋ž˜์„œ, ์ œ๊ฐ€ page=1์„ ์š”์ฒญํ–ˆ๋‹ค๋ฉด ์‹ค์ œ Page ๊ฐ์ฒด ์† getNumber()๋Š” 0์ด ๋œ๋‹ค.

html

 

์กฐ๊ธˆ ๋ณต์žกํ•˜๊ฒŒ Thymeleaf๊ฐ€ ์„ค๊ณ„๋œ ๊ฒƒ ๊ฐ™๋‹ค. ๋‚ด๊ฐ€ ์›ํ•˜๋Š” nav๋Š” 1๋ถ€ํ„ฐ 5๊นŒ์ง€๋Š” 1-5๊นŒ์ง€์˜ ํŽ˜์ด์ง€ ๋งํฌ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ , ๊ทธ๋‹ค์Œ๋ถ€ํ„ฐ๋Š” 6-10, 11-15๊ฐ€ ๋‚˜ํƒ€๋‚˜๋„๋ก ํ–ˆ๋‹ค. 1-5๊นŒ์ง€ ์š”์ฒญ์€ ์‹ค์ œ๋กœ getNumber() ์‹œ 0-4๊นŒ์ง€ ์ด๋ฏ€๋กœ ์ด๋ฅผ ์›ํ•˜๋Š” 5๋กœ ๋‚˜๋ˆ„๋ฉด 0, 6-10์€ 1, 11-15๋Š” 2๊ฐ€ ๋œ๋‹ค. ๊ทธ๋ž˜์„œ ์‹œ์ž‘ ๋ฒˆํ˜ธ๋Š” 1-5 ํŽ˜์ด์ง€๋ฅผ ์ œ์™ธํ•˜๊ณ ๋Š” ๋‚˜๋ˆˆ ๊ฐ’์— * 5๋ฅผ ํ•ด์ฃผ๋ฉด ๋˜๊ณ  ๋ ๋ฒˆํ˜ธ๋Š” ๋‚˜๋ˆˆ ๊ฐ’์— + 1์„ ํ•˜๊ณ  * 5๋ฅผ ํ•ด์ฃผ๋ฉด ๋œ๋‹ค. ๋‹จ, ๋ ๋ฒˆํ˜ธ๊ฐ€ ์ „์ฒด ํŽ˜์ด์ง€ ๊ฐœ์ˆ˜๋ฅผ ๋„˜์–ด๊ฐ€๋ฉด ์ „์ฒด ํŽ˜์ด์ง€ ๊ฐœ์ˆ˜๊ฐ€ ๋ ๋ฒˆํ˜ธ๊ฐ€ ๋˜๋„๋ก ํ•˜์˜€๋‹ค. ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ ๋ฒˆํ˜ธ๋Š” 1-5์ผ ๋•Œ๋Š” 0-4๋กœ ๋‚˜๋ˆ„๊ณ  + 1 * 5๋‹ˆ๊นŒ 5๊ฐ€ ํ•ญ์ƒ ๋‚˜์˜ค๊ณ , 6-10์€ 10, 11-15๋Š” 15๊ฐ€ ํ•ญ์ƒ ๋‚˜์˜ค๊ฒŒ ๋œ๋‹ค.

์ฒซ ํŽ˜์ด์ง€
๋งˆ์ง€๋ง‰ ํŽ˜์ด์ง€

 

์ด๋กœ์จ ํŽ˜์ด์ง•์„ ์ดํ•ดํ•˜๊ณ  ๊ตฌํ˜„๊นŒ์ง€ ํ•ด๋ณด์•˜๋‹ค. ๊ทผ๋ฐ, ํŽ˜์ด์ง€ ๋งํฌ๋ฅผ ๋งŒ๋“œ๋Š” ๊ณผ์ •์ด ์กฐ๊ธˆ ์•„์‰ฝ๊ฒŒ ๋А๊ปด์ง€๋ฉฐ ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ๋ถ„๋ช… ๋งŽ์„ ๊ฒƒ์ด๋‹ค. ๊ณ„์†ํ•ด์„œ ๊ณต๋ถ€ํ•ด ๋ณด์•„์•ผ๊ฒ ๋‹ค!!

 

์ €์ž‘์žํ‘œ์‹œ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'๊ฐœ๋ฐœ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

MVC ํŒจํ„ด  (5) 2024.10.15
๋™์ž‘ ํŒŒ๋ผ๋ฏธํ„ฐํ™” ์ฝ”๋“œ ์ „๋‹ฌํ•˜๊ธฐ  (6) 2024.10.10
BeanFactory์™€ ApplicationContext, Configuration  (0) 2024.10.04
JWT ํ† ํฐ์„ ์ด์šฉํ•œ ๋กœ๊ทธ์ธ ๋ฐฉ๋ฒ• ์ดํ•ด  (5) 2024.09.15
'๊ฐœ๋ฐœ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • MVC ํŒจํ„ด
  • ๋™์ž‘ ํŒŒ๋ผ๋ฏธํ„ฐํ™” ์ฝ”๋“œ ์ „๋‹ฌํ•˜๊ธฐ
  • BeanFactory์™€ ApplicationContext, Configuration
  • JWT ํ† ํฐ์„ ์ด์šฉํ•œ ๋กœ๊ทธ์ธ ๋ฐฉ๋ฒ• ์ดํ•ด
์œจ๋ฌด;
์œจ๋ฌด;
  • ์œจ๋ฌด;
    ๐ŸฅŠ
    ์œจ๋ฌด;
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (65)
      • ๊ฐœ๋ฐœ (30)
        • ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค (13)
        • ์šด์˜์ฒด์ œ (12)
      • ๊ฐœ๋ฐœ์„œ์  (2)
        • ์ž๋ฐ”-์Šคํ”„๋ง ์‹ค์šฉ์ฃผ์˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ (2)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ (28)
      • ๊ฒŒ์ž„๊ฐœ๋ฐœ (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ์šฐํ…Œ์ฝ”
    bsp
    ์ด๋™์ƒ์„ฑ์ž
    python
    ์ฝ”๋”ฉ
    ์šฐ์•„ํ•œํ…Œํฌ์ฝ”์Šค
    ์ ˆ์ฐจ์ ์ƒ์„ฑ
    ์ž๋ฐ”
    ๊ฒŒ์ž„๊ฐœ๋ฐœ
    ๊ฒŒ์ž„
    ๋กœ๊ทธ๋ผ์ดํฌ
    2048(Hard)
    2048
    ๊ฐœ๋ฐœ์—ฐ์Šต
    ํŒŒ์ด์ฌ
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    ์…€๋ฃฐ๋Ÿฌ์˜คํ† ๋งˆํƒ€
    BFS
    ๋ฐฑ์ค€
    ๊ฐœ๋ฐœ
    C++
    dfs
    ์ด๊ฒƒ์ดC++์ด๋‹ค
    ๋กœ๊ทธ
    ์ธ๋””๊ฒŒ์ž„
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
์œจ๋ฌด;
์Šคํ”„๋ง ๋ถ€ํŠธ๋ฅผ ์ด์šฉํ•œ ํŽ˜์ด์ง• ๊ตฌํ˜„
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”