๋ฌธ์ ์ ๊ทผ
โข
G๋ฅผ ๋ง๋๋ฉด dir๋ณ์์ ๋ด๊ฒจ์๋ ๋ฐฉํฅ์ ๋ณด๋ก ํฅํจ
โข
L์ ๋ง๋๋ฉด ์์ ๋ฐฉํฅ์ผ๋ก ๋ฐ๊พธ๊ณ dir์ด ์์๊ฐ ๋ ์ ์๊ธฐ ๋๋ฌธ์ ์์๋ก ๋ง๋ค๊ธฐ ์ํด +4
โข
R์ ๋ง๋๋ฉด L๊ณผ๋ ๋ฐ๋๋ฐฉํฅ
๋์ณค๋ ๋ถ๋ถ
์ขํx,y์ ๊ฒฐ๊ณผ๊ฐ 0,0์ธ์ ๋ง๊ณ ๋ dir โ 0์ผ๋๋ ๋ต์ ์กฐ๊ฑด์ ๋ง์กฑํจ
๊ทธ๋์ผ ๋ฌดํํ ์์ ๊ทธ๋ฆฌ๋ฉด ์ด๋ํ๊ฒ๋จ
์ฝ๋
13.8 MB
4 ms
class Solution {
func isRobotBounded(_ instructions: String) -> Bool {
var dir = 0, x = 0, y = 0;
for str in instructions {
if (str == "G")
{
if (dir == 0)
{
y += 1;
} else if (dir == 1)
{
x -= 1;
} else if (dir == 2)
{
y -= 1;
} else
{
x += 1;
}
} else if (str == "L")
{
dir -= 1;
dir = (dir + 4) % 4;
} else
{
dir += 1;
dir %= 4;
}
}
return (x == 0 && y == 0 || dir != 0)
}
}
Swift
๋ณต์ฌ