๋ฌธ์ ์ ๊ทผ
โข
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
๋ณต์ฌ



