ํด์ค ์ฝ๋
def solution(dirs):
visit = set()
x = 0; y = 0
for d in dirs:
if d == 'U' and y < 5:
visit.add(((x, y), (x, y+1)))
y += 1
elif d == 'D' and y > -5:
visit.add(((x, y-1), (x, y)))
y -= 1
elif d == 'R' and x < 5:
visit.add(((x, y), (x+1, y)))
x += 1
elif d == 'L' and x > -5:
visit.add(((x-1, y), (x, y)))
x -= 1
return len(visit)
๋ถ์ > set ์ ํ์ฉํด ์์๋ฅผ ์ถ๊ฐํ๋ ๋ฒ์ ๋ฐฐ์ ๋ค. set์ ํ์ฉํ๋ฉด ๊ฐ์ ๊ธธ์ ๊ฑธ์๋์ง, ์๋์ง๋ฅผ ๋ถ๋ณํ ์ ์๋ค. ๊ธธ์ ์๋ฐฉํฅ(ํ์์น์ ์ ์์น๊ฐ ๋ฐ์ ๋์ด์ผ ๊ฐ์ ๊ธธ์ ๊ฑธ์ ๊ฒ)์ด๊ธฐ ๋๋ฌธ์ x์ y๋ฅผ ๊ฐ๊ฐ ์ผ์ชฝ, ์ค๋ฅธ์ชฝ์ผ๋ก ๋๋์ด ๊ณ์ฐํด์ฃผ์ด์ผ ํ๋ค. ํ์ชฝ์๋ง ๋ชฐ์์ ๊ณ์ฐํด์ค๋ค๋ฉด, set ๋ฐฐ์ด์ด ์ค๋ณต์ ๊ฑฐ๋ฅด์ง ๋ชปํ๊ธฐ ๋๋ฌธ์ด๋ค.
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ์ต์๊ฐ ๋ง๋ค๊ธฐ (0) | 2022.05.04 |
---|---|
[Programmers] ์์ฐ (0) | 2022.05.04 |
[Programmers] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (0) | 2022.05.03 |
[Programmers] ์ฝ์์ ๊ฐ์์ ๋ง์ (0) | 2022.05.02 |
[Programmers] ํฐ์ผ๋ชฌ (0) | 2022.05.02 |