From d3cf688d7af48ab667299ba2725863c44a18c108 Mon Sep 17 00:00:00 2001 From: Luis Rodrigues Date: Thu, 13 Feb 2025 12:23:12 +0000 Subject: [PATCH] exercicio 657 resolvido com python --- 657-robot_return_to_origin/python/657.py | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 657-robot_return_to_origin/python/657.py diff --git a/657-robot_return_to_origin/python/657.py b/657-robot_return_to_origin/python/657.py new file mode 100644 index 0000000..f27e2e4 --- /dev/null +++ b/657-robot_return_to_origin/python/657.py @@ -0,0 +1,32 @@ +# 657. Robot Return to Origin +# +# There is a robot starting at the position (0, 0), the origin, on a 2D plane. +# Given a sequence of its moves, judge if this robot ends up at (0, 0) after it +# completes its moves. +# +# You are given a string moves that represents the move sequence of the robot +# where moves[i] represents its ith move. +# Valid moves are 'R' (right), 'L' (left), 'U' (up), and 'D' (down). +# +# Return true if the robot returns to the origin after it finishes all of its +# moves, or false otherwise. +# +# Note: The way that the robot is "facing" is irrelevant. 'R' will always make +# the robot move to the right once, 'L' will always make it move left, etc. +# Also, assume that the magnitude of the robot's movement is the same for each +# move. + + +def judgeCircle(moves: str) -> bool: + posicao: list[int] = [0, 0] + for move in moves: + match move: + case "U": + posicao[0] += 1 + case "D": + posicao[0] -= 1 + case "L": + posicao[1] -= 1 + case "R": + posicao[1] += 1 + return posicao == [0, 0]