๐ ๋ฌธ์
๋จธ์ฑ์ด๋ RPG๊ฒ์์ ํ๊ณ ์์ต๋๋ค. ๊ฒ์์๋ up, down, left, right ๋ฐฉํฅํค๊ฐ ์์ผ๋ฉฐ ๊ฐ ํค๋ฅผ ๋๋ฅด๋ฉด ์, ์๋, ์ผ์ชฝ, ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ์ฉ ์ด๋ํฉ๋๋ค. ์๋ฅผ ๋ค์ด [0,0]์์ up์ ๋๋ฅธ๋ค๋ฉด ์บ๋ฆญํฐ์ ์ขํ๋ [0, 1], down์ ๋๋ฅธ๋ค๋ฉด [0, -1], left๋ฅผ ๋๋ฅธ๋ค๋ฉด [-1, 0], right๋ฅผ ๋๋ฅธ๋ค๋ฉด [1, 0]์
๋๋ค. ๋จธ์ฑ์ด๊ฐ ์
๋ ฅํ ๋ฐฉํฅํค์ ๋ฐฐ์ด keyinput์ ๋งต์ ํฌ๊ธฐ board์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์บ๋ฆญํฐ๋ ํญ์ [0,0]์์ ์์ํ ๋ ํค ์
๋ ฅ์ด ๋ชจ๋ ๋๋ ๋ค์ ์บ๋ฆญํฐ์ ์ขํ [x, y]๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
[0, 0]์ board์ ์ ์ค์์ ์์นํฉ๋๋ค. ์๋ฅผ ๋ค์ด board์ ๊ฐ๋ก ํฌ๊ธฐ๊ฐ 9๋ผ๋ฉด ์บ๋ฆญํฐ๋ ์ผ์ชฝ์ผ๋ก ์ต๋ [-4, 0]๊น์ง ์ค๋ฅธ์ชฝ์ผ๋ก ์ต๋ [4, 0]๊น์ง ์ด๋ํ ์ ์์ต๋๋ค.
๐ ์ ํ์ฌํญ
- board์ [๊ฐ๋ก ํฌ๊ธฐ, ์ธ๋ก ํฌ๊ธฐ] ํํ๋ก ์ฃผ์ด์ง๋๋ค.
- board์ ๊ฐ๋ก ํฌ๊ธฐ์ ์ธ๋ก ํฌ๊ธฐ๋ ํ์์ ๋๋ค.
- board์ ํฌ๊ธฐ๋ฅผ ๋ฒ์ด๋ ๋ฐฉํฅํค ์ ๋ ฅ์ ๋ฌด์ํฉ๋๋ค.
- 0 ≤ keyinput์ ๊ธธ์ด ≤ 50
- 1 ≤ board[0] ≤ 99
- 1 ≤ board[1] ≤ 99
- keyinput์ ํญ์ up, down, left, right๋ง ์ฃผ์ด์ง๋๋ค.
๐ ์ ์ถ๋ ฅ ์
keyinput board result
["left", "right", "up", "right", "right"] [11, 11] [2, 1]
["down", "down", "down", "down", "down"] [7, 9] [0, -4]
๐ ์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ ์ค๋ช #1
- [0, 0]์์ ์ผ์ชฝ์ผ๋ก ํ ์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ์๋ก ํ ์นธ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ ์นธ ์ด๋ํ ์ขํ๋ [2, 1]์ ๋๋ค.
์ ์ถ๋ ฅ ์ ์ค๋ช #2
- [0, 0]์์ ์๋๋ก ๋ค์ฏ ์นธ ์ด๋ํ ์ขํ๋ [0, -5]์ด์ง๋ง ๋งต์ ์ธ๋ก ํฌ๊ธฐ๊ฐ 9์ด๋ฏ๋ก ์๋๋ก๋ ๋ค ์นธ์ ๋์ด์ ์ด๋ํ ์ ์์ต๋๋ค. ๋ฐ๋ผ์ [0, -4]๋ฅผ returnํฉ๋๋ค.
๐ง ํ์ด
function solution(keyinput, board) {
let answer = [0, 0]
while (keyinput.length != 0) {
// keyinput ๋ฐฐ์ด ํ๋์ฉ ๋นผ์ ํ์ธ
let move = keyinput.shift();
// ๋ฐฉํฅํค: left ์ผ ๋,
if (move === "left") {
if (answer[0] === (board[0] - 1) / 2 * -1) {
} else {
answer[0] -= 1;
}
}
// ๋ฐฉํฅํค: right ์ผ ๋,
if (move === "right") {
if (answer[0] === (board[0] - 1) / 2) {
} else {
answer[0] += 1;
}
}
// ๋ฐฉํฅํค: up ์ผ ๋,
if (move === "up") {
if (answer[1] === (board[1] - 1) / 2) {
} else {
answer[1] += 1;
}
}
// ๋ฐฉํฅํค: down ์ผ ๋,
if (move === "down") {
if (answer[1] === (board[1] - 1) / 2 * -1) {
} else {
answer[1] -= 1;
}
}
}
return answer;
}
'๐งฉ Algorithm > ๐ง JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋คํญ์ ๋ํ๊ธฐ (0) | 2023.04.17 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ต๋๊ฐ ๋ง๋ค๊ธฐ (2) (0) | 2023.04.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ง์ฌ๊ฐํ ๋์ด ๊ตฌํ๊ธฐ (0) | 2023.04.17 |
[ํ๋ก๊ทธ๋๋จธ์ค] ๋จธ์ฑ์ด๋ณด๋ค ํค ํฐ ์ฌ๋ (0) | 2023.04.15 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ค๋ณต๋ ์ซ์ ๊ฐ์ (0) | 2023.04.15 |