Search

함수2_문제04_택시

대분류
STEP10 함수
소분류
함수2_문제

영상

문제

""" [문제] 현재 택시는 5 , 5 위치에 있다. taxi의 왼쪽세로줄은 속도를 뜻한다. taxi의 오른쪽세로줄은 방향 뜻하고 (북, 동, 남, 서) 를 뜻한다. 속도 와 방향은 택시가 매번이동한 내용을 기록한것이다. pos 리스트에 택시가 이동한경로를 모두 기록하는 함수를 만드시오. 단, 딕셔너리로 기록하시오. [예시] ["4","북"] 은 북쪽으로 4만큼 이동한것을 뜻한다. y가 4증가해 x : 5 , y : 9 가된다. [정답] {'y': 5, 'x': 5} {'y': 9, 'x': 5} {'y': 9, 'x': 9} {'y': 8, 'x': 9} {'y': 8, 'x': 4} {'y': 8, 'x': 0} {'y': 8, 'x': 2} """ taxi = [ [4,"북"], [4,"동"], [1,"남"], [5,"서"], [4,"서"], [2,"동"], ] pos = [ {"y" : 5 , "x" : 5} ]
Python
복사

해설

""" [문제] 현재 택시는 5 , 5 위치에 있다. taxi의 왼쪽세로줄은 속도를 뜻한다. taxi의 오른쪽세로줄은 방향 뜻하고 (북, 동, 남, 서) 를 뜻한다. 속도 와 방향은 택시가 매번이동한 내용을 기록한것이다. pos 리스트에 택시가 이동한경로를 모두 기록하는 함수를 만드시오. 단, 딕셔너리로 기록하시오. [예시] ["4","북"] 은 북쪽으로 4만큼 이동한것을 뜻한다. y가 4증가해 x : 5 , y : 9 가된다. [정답] {'y': 5, 'x': 5} {'y': 9, 'x': 5} {'y': 9, 'x': 9} {'y': 8, 'x': 9} {'y': 8, 'x': 4} {'y': 8, 'x': 0} {'y': 8, 'x': 2} """ def movetaxi(taxi, pos): for i in range(len(taxi)): lastpos = {"y" : 0 , "x" : 0} lastpos["y"] = pos[-1]["y"] lastpos["x"] = pos[-1]["x"] next = taxi[i] if next[1] == "북": lastpos["y"] += next[0] if next[1] == "동": lastpos["x"] += next[0] if next[1] == "남": lastpos["y"] -= next[0] if next[1] == "서": lastpos["x"] -= next[0] pos.append(lastpos) taxi = [ [4,"북"], [4,"동"], [1,"남"], [5,"서"], [4,"서"], [2,"동"], ] pos = [ {"y" : 5 , "x" : 5} ] movetaxi(taxi , pos) for i in range(len(pos)): print(pos[i])
Python
복사