๋ฌธ์
-
๊ฒ์ ํ๋ฉด์ 1 x 1 ํฌ๊ธฐ์ ์นธ๋ค๋ก ์ด๋ฃจ์ด์ง N x N ํฌ๊ธฐ์ ์ ์ฌ๊ฐ ๊ฒฉ์
-
์์ชฝ์๋ ํฌ๋ ์ธ์ด ์๊ณ ์ค๋ฅธ์ชฝ์๋ ๋ฐ๊ตฌ๋๊ฐ ์กด์ฌํ๋ค.
-
๋ชจ๋ ์ธํ์ 1 x 1 ํฌ๊ธฐ์ ๊ฒฉ์ ํ ์นธ์ ์ฐจ์งํ๋ค.
-
๊ฒ์ ์ฌ์ฉ์๋ ํฌ๋ ์ธ์ ์ข์ฐ๋ก ์์ง์ฌ์ ๋ฉ์ถ ์์น์์ ๊ฐ์ฅ ์์ ์๋ ์ธํ์ ์ง์ด ์ฌ๋ฆฌ๊ณ , ์ง์ด ์ฌ๋ฆฐ ์ธํ์ ๋ฐ๊ตฌ๋์ ์์ด๊ฒ ๋๋ ๋ฐ, ์ด๋ ๋ฐ๊ตฌ๋์ ๊ฐ์ฅ ์๋ ์นธ๋ถํฐ ์ธํ์ด ์์๋๋ก ์์ธ๋ค.
์ ํ ์ฌํญ
- board ๋ฐฐ์ด์ 2์ฐจ์ ๋ฐฐ์ด๋ก ํฌ๊ธฐ๋ 5 x 5 ์ด์ 30 x 30 ์ดํ์ ๋๋ค.
- board์ ๊ฐ ์นธ์๋ 0 ์ด์ 100 ์ดํ์ธ ์ ์๊ฐ ๋ด๊ฒจ์์ต๋๋ค.
- 0์ ๋น ์นธ์ ๋ํ๋ ๋๋ค.
- 1 ~ 100์ ๊ฐ ์ซ์๋ ๊ฐ๊ธฐ ๋ค๋ฅธ ์ธํ์ ๋ชจ์์ ์๋ฏธํ๋ฉฐ ๊ฐ์ ์ซ์๋ ๊ฐ์ ๋ชจ์์ ์ธํ์ ๋ํ๋ ๋๋ค.
- moves ๋ฐฐ์ด์ ํฌ๊ธฐ๋ 1 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- moves ๋ฐฐ์ด ๊ฐ ์์๋ค์ ๊ฐ์ 1 ์ด์์ด๋ฉฐ board ๋ฐฐ์ด์ ๊ฐ๋ก ํฌ๊ธฐ ์ดํ์ธ ์์ฐ์์ ๋๋ค.
์ฝ๋
ํ์ด
์ง๋ ๋ฒ ํคํจ๋ ๋๋ฅด๊ธฐ ๋ฌธ์ ์ฒ๋ผ x์ y ์ขํ๋ฅผ ๊ณ ๋ คํ๋ฉฐ ํ์๋ค. ์ ์ ํ for ๋ฌธ์๋ break๋ฅผ, if ๋ฌธ์๋ continue๋ฅผ ์ฐ๋ฉฐ ๋ถํ์ํ ์ฐ์ฐ์ ์ค์ด๊ณ ์ ํ๋ค.
2์ฐจ์ ๋ฐฐ์ด board์ ์ธํ์ ์ฐพ๊ณ ์ ํ๋ ์์น๊ฐ ๋ค๊ธด ๋ฐฐ์ด moves๊ฐ ์ฃผ์ด์ง๋ค. ๋ฐํํด์ผ ํ ๊ฒ์ ๊ฒน์ณ์ ์ฌ๋ผ์ง๋ ์ธํ์ ์์ด๋ฏ๋ก cnt์ ์ฌ์ฉ์๊ฐ ์ธํ์ ๋ด๋ bucket์ ์ด๊ธฐํํด์ ๋ฏธ๋ฆฌ ์ ์ธํ๋ค.
moves ๋ฐฐ์ด์์๋ index๊ฐ ํ์ํ์ง ์์ผ๋ฏ๋ก ๊ฐ๋ง์ ์ถ์ถํ ์ ์๊ฒ for of ๋ฐ๋ณต๋ฌธ์ ์ผ๋ค. 2์ฐจ์ ํ๋ ฌ์์ 1, 2, 3.. ๋ฒํธ๊ฐ ๋ถ๋ ๊ฒ์ x ์ขํ์ด๋ฏ๋ก, moves์ ๊ฐ ์์์์ 1์ ๋บ ํ ํด๋น ๊ฐ์ ๋ณ์ x์ ๋ด๋๋ค.
ํฌ๋ ์ธ์ ํ๋ ฌ์ ๊ฐ์ฅ ์ y ์ขํ๋ถํฐ ํ์ํด ๋ด๋ ค๊ฐ๋๋ฐ, ์ด๋ฏธ ์ฃผ์ด์ง x ์ขํ๊ฐ๊ณผ y ์ขํ๊ฐ์ด ๋ง๋๋ ์ง์ ์ด 0์ผ ๊ฒฝ์ฐ continue๋ฅผ ์จ์ if๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
๋ง์ผ ํด๋น ์ขํ์ ์ฃผ์ด์ง ๊ฐ์ด 0์ด ์๋ ๊ฐ ์ธํ์ ๊ณ ์ ํ ๋ฒํธ์ผ ๊ฒฝ์ฐ ๋ฐฐ์ด bucket์ push๋ก ์์๋ฅผ ์ถ๊ฐํด์ค๋ค. ์ด๋ board์ ํด๋น ์ขํ๋ฅผ 0์ผ๋ก ๋ง๋ค์ด์ค์ผํ๋ค. bucket์ ์ธํ์ ๋ด๋ ๊ฒ์ moves์ ๊ฐ ์์ ๋น ํ ๋ฒ์ด๋ฏ๋ก, board์ ํด๋น ์ขํ๋ฅผ 0์ผ๋ก ๋ง๋ค์ด์ค ๋ค์์๋ break๋ฅผ ์จ์ for๋ฌธ์ ๋น ์ ธ๋์จ๋ค.
bucket์ ๊ธธ์ด๊ฐ ์ต์ํ 2 ์ด์์ด ๋์ด์ผ ๊ฐ์ฅ ๋ง์ง๋ง ๊ฐ๊ณผ ๋ง์ง๋ง์์ ๋ ๋ฒ์งธ์ธ ๊ฐ์ ๋น๊ตํด ์๋ก ์ฐ์๋ ์ธํ์ด ๋์ผํ์ง ์ ์ ์๋ค.
splice ํจ์๋ ๋ ๋ฒ์งธ ์ธ์๋ฅผ ์๋ตํ ๊ฒฝ์ฐ ๋ฐฐ์ด์ ๋์ ์๋ฏธํ๋ฏ๋ก, ์ฒซ ๋ฒ์งธ ์ธ์๋ฅผ ํฌํจํด ๋๊น์ง ์์๋ฅผ ์ญ์ ํ๋ค๋ ์๋ฏธ์ด๋ค. ์ ์ฝ๋์์๋ bucket.splice(bucket.length - 2)๋ผ๊ณ ์จ์คฌ์ง๋ง, bucket.splice(-2)๋ผ๊ณ ๋ง ์จ๋ ๋๋ค.
let numbers = [1, 2, 3, 4]
numbers.splice(-2) // ์ญ์ ๋ [3, 4]
console.log(numbers) // [ 1, 2 ]
splice๋ ์๋ณธ ๋ฐฐ์ด์ ์ํฅ์ ์ค๋ค.
cnt๋ ์ญ์ ๊ฐ ์ผ์ด๋ ๋๋ง๋ค 1์ฉ ์ฆ๊ฐํ๋๋ก ํ์ผ๋ฏ๋ก return ์์๋ ์ธํ์ ๊ฐ์๋ฅผ ๊ตฌํด์ผ ํ๋ฏ๋ก cnt์ 2๋ฅผ ๊ณฑํด์ค๋ค.