본문 바로가기

Algorithm/Implementation

상하좌우

 

문제

N행 N열에서 (1, 1)부터 시작해 조건에 따라 움직일 때, 결과는?

조건 : L or R or U or D

 

 

유형

일련의 명령에 따라서 개체를 차례대로 이동시킨다는 점에서 '구현-시뮬레이션' 알고리즘

 

 

n = 5
start = [1, 1]
direction = ['R', 'R', 'R', 'U', 'D', 'D']

dx = [-1, 0, 1, 0]
dy = [0, -1, 0, 1]
dtype = ['U', 'L', 'D', 'R']


for i in direction:
    for j in range(4):
        if i == dtype[j]:
            x_pos = start[0] + dx[j]
            y_pos = start[1] + dy[j]
    if 1 <= x_pos <= n and 1 <= y_pos <= n:
        start[0] = x_pos
        start[1] = y_pos
print(start)

 

 

시간 복잡도

O(N) : for문이 두개여도 하나는 방향 지정이라 4라고 봐야됨

- O(4N) = O(N)

'Algorithm > Implementation' 카테고리의 다른 글

럭키 스트레이트  (0) 2023.04.09
게임 개발  (0) 2023.04.09
왕실의 나이트  (0) 2023.04.08
시각  (0) 2023.04.08
Implementation - Concept  (0) 2023.04.08