구현
머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정
행렬
일반적으로 알고리즘 문제에서 2차원 공간은 행렬의 의미로 사용
시뮬레이션 및 완전 탐색 문제에서는 2차원 공간에서의 방향 벡터가 자주 활용
문제 1)
상하좌우
코드
N = int(input())
plans = input().split()
x, y = 1, 1
# L, R, U, D로 이동
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
move_direction = ['L', 'R', 'U', 'D']
for plan in plans:
for i in range(len(move_direction)):
if plan == move_direction[i]:
nx = x + dx[i]
ny = y + dy[i]
if nx < 1 or ny < 1 or nx > N or ny > N:
continue
x, y = nx, ny
print(x,y)
'Algorithm' 카테고리의 다른 글
그래프 탐색 알고리즘 - DFS/BFS (1) | 2023.10.23 |
---|---|
그리디 알고리즘 (0) | 2023.10.22 |