2048(Easy)
๋ช๋ช ์๋ฃจ์ ์ ๋ดค์ ๋ ๊ณตํต์ ์ธ idea๋ ๋ค์๊ณผ ๊ฐ๋ค.
์๋ก์ด 2์ฐจ์ ๋ฐฐ์ด(tmp)์ ์์ฑ
๊ฐ ์นธ์ ๊ฐ ์ด๋
๋ค์์ผ๋ก ์ฎ๊ธธ ์นธ ๊ฐ๊ณผ 2์ ๊ฐ์ด ๊ฐ์์ง ๋น๊ต : if(map[i][j] == tmp[target][y] && flag==1) ๋ํ, ์ด๋ฏธ ํฉ์ณ์ง ์นธ์ ๋ค์ ํฉ์น์ง ์๊ธฐ ๋๋ฌธ์ flag๋ณ์๋ก ๊ตฌ๋ถํ๋ค. ํฉ์ณ์ง ์ ์๋ ์นธ์ flag ๊ฐ์ด 1์ด๋ค.
๊ฐ์ผ๋ฉด ํฉ์ณ์ค๋ค. : tmp[target][y] *= 2; flag=0; ํฉ์ณ์ค ๋ flag = 0์ผ๋ก ๋งํนํ๋ค.
๋ด ๋ฌธ์ ํ์ด ๋ฐฉ์
์,ํ ์ด๋๋ฐฉํฅ์ผ ๋ : ์ด ๋ฐ๋ณต๋ฌธ { ํ ๋ฐ๋ณต๋ฌธ{ ...}} โ (์ ๋ต๊ณผ ๋์ผํ ๋์ ์ํ) ์ ๋ต ์ฝ๋์์๋ ์,ํ ์ด๋๋ฐฉํฅ์ผ ๋ ํ ๋ฐ๋ณต๋ฌธ ์ด ๋ฐ๋ณต๋ฌธ ์์๋ ๊ทธ๋๋ก ๋๊ณ , Map[j][i]๋ก ๋ฐ๊ฟ์ฃผ์์.
์ด๋ ๋ฐฉํฅ์ ๋ฐ๋ผ ์ ๋ ฅ๋ฐ์ ๋ฐฐ์ด ๊ฐ์ ๋น๊ตํด์ ๊ฐ์ผ๋ฉด, ์๋ก์ด ๋ฐฐ์ด์ ๊ฐ์ ํฉ์ณ์ค๋ค. => 5-6๊ฐ์ ์ฝ๋๋ฅผ ๋ดค์ง๋ง, ์๋ก์ด ๋ฐฐ์ด์ ๊ฐ๊ณผ ์๋ ๋ฐฐ์ด๊ฐ์ ๋น๊ตํด์ ์ฒ๋ฆฌํ๋ค.
2๋ฒ์งธ ํ์์ ๋ ํ๋ฆฐ ์ด์
์,ํ : ์ด ๋จ์ ์ข,์ฐ : ํ ๋จ์, ์ธ์ ์ด๊ฐ๋ผ๋ฆฌ ๋น๊ตํ๊ธฐ ๋๋ฌธ์ targetIdx๊ฐ ์ด์ ๋ค์ด๊ฐ์ผํจ.
ํ, ์ฐ ๋ฐฉํฅ ์ด๋ : ํ ๋๋ ์ด์ด 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