2048(Easy)

๋ช‡๋ช‡ ์†”๋ฃจ์…˜์„ ๋ดค์„ ๋•Œ ๊ณตํ†ต์ ์ธ idea๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  1. ์ƒˆ๋กœ์šด 2์ฐจ์› ๋ฐฐ์—ด(tmp)์„ ์ƒ์„ฑ

  2. ๊ฐ ์นธ์˜ ๊ฐ’ ์ด๋™

  3. ๋‹ค์Œ์œผ๋กœ ์˜ฎ๊ธธ ์นธ ๊ฐ’๊ณผ 2์˜ ๊ฐ’์ด ๊ฐ™์€์ง€ ๋น„๊ต : if(map[i][j] == tmp[target][y] && flag==1) ๋˜ํ•œ, ์ด๋ฏธ ํ•ฉ์ณ์ง„ ์นธ์€ ๋‹ค์‹œ ํ•ฉ์น˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— flag๋ณ€์ˆ˜๋กœ ๊ตฌ๋ถ„ํ•œ๋‹ค. ํ•ฉ์ณ์ง„ ์  ์—†๋Š” ์นธ์€ flag ๊ฐ’์ด 1์ด๋‹ค.

  4. ๊ฐ™์œผ๋ฉด ํ•ฉ์ณ์ค€๋‹ค. : tmp[target][y] *= 2; flag=0; ํ•ฉ์ณ์ค„ ๋•Œ flag = 0์œผ๋กœ ๋งˆํ‚นํ•œ๋‹ค.

๋‚ด ๋ฌธ์ œ ํ’€์ด ๋ฐฉ์‹

  1. ์ƒ,ํ•˜ ์ด๋™๋ฐฉํ–ฅ์ผ ๋•Œ : ์—ด ๋ฐ˜๋ณต๋ฌธ { ํ–‰ ๋ฐ˜๋ณต๋ฌธ{ ...}} โœ…(์ •๋‹ต๊ณผ ๋™์ผํ•œ ๋™์ž‘ ์ˆ˜ํ–‰) ์ •๋‹ต ์ฝ”๋“œ์—์„œ๋Š” ์ƒ,ํ•˜ ์ด๋™๋ฐฉํ–ฅ์ผ ๋•Œ ํ–‰ ๋ฐ˜๋ณต๋ฌธ ์—ด ๋ฐ˜๋ณต๋ฌธ ์ˆœ์„œ๋Š” ๊ทธ๋Œ€๋กœ ๋‘๊ณ , Map[j][i]๋กœ ๋ฐ”๊ฟ”์ฃผ์—ˆ์Œ.

  2. ์ด๋™ ๋ฐฉํ–ฅ์— ๋”ฐ๋ผ ์ž…๋ ฅ๋ฐ›์€ ๋ฐฐ์—ด ๊ฐ’์„ ๋น„๊ตํ•ด์„œ ๊ฐ™์œผ๋ฉด, ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์— ๊ฐ’์„ ํ•ฉ์ณ์ค€๋‹ค. => 5-6๊ฐœ์˜ ์ฝ”๋“œ๋ฅผ ๋ดค์ง€๋งŒ, ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์˜ ๊ฐ’๊ณผ ์›๋ž˜ ๋ฐฐ์—ด๊ฐ’์„ ๋น„๊ตํ•ด์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.

2๋ฒˆ์งธ ํ’€์—ˆ์„ ๋•Œ ํ‹€๋ฆฐ ์ด์œ 

  1. ์ƒ,ํ•˜ : ์—ด ๋‹จ์œ„ ์ขŒ,์šฐ : ํ–‰ ๋‹จ์œ„, ์ธ์ ‘ ์—ด๊ฐ’๋ผ๋ฆฌ ๋น„๊ตํ•˜๊ธฐ ๋•Œ๋ฌธ์— targetIdx๊ฐ€ ์—ด์— ๋“ค์–ด๊ฐ€์•ผํ•จ.

  2. ํ•˜, ์šฐ ๋ฐฉํ–ฅ ์ด๋™ : ํ–‰ ๋˜๋Š” ์—ด์ด N-1๋ฒˆ์งธ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•˜๊ธฐ ๋•Œ๋ฌธ์— targetIdx ๋˜ํ•œ N-1์—์„œ ์‹œ์ž‘ํ•ด์„œ 1์”ฉ ๊ฐ์†Œ์•ผํ•˜๊ณ , lastNum๊ณผ map[i][j]๊ฐ€ ๊ฐ™์„ ๋•Œ ๋˜ํ•œ, targetIdx+1 ๋กœ ๋ณ€๊ฒฝํ•ด์ค˜์•ผํ•œ๋‹ค! tmp[i][target+1] *= 2; tmp[target+1][j] *= 2;

์ •๋‹ต ๋„์ถœ ์Šคํ‚ฌ

์ž…๋ ฅ๋ฐ›์„ ๋•Œ ์ž…๋ ฅ ๋ฐฐ์—ด์˜ ์ตœ๋Œ“๊ฐ’์„ ans์— ์ €์žฅํ•˜๊ณ , ์ˆซ์ž๊ฐ€ ๊ฐ™์€ ์นธ์ด ๋‚˜์˜ฌ ๋•Œ ๊ทธ ์ˆซ์ž๊ฐ€ ์ตœ๋Œ“๊ฐ’์ธ ans์™€ ๊ฐ™๋‹ค๋ฉด ans๋„ ํ•จ๊ป˜ ์—…๋ฐ์ดํŠธํ•œ๋‹ค!

Last updated