본문 바로가기
자료구조_알고리즘

알고리즘) 구현 - 시뮬레이션, 완전탐색

by nomfang 2021. 6. 2.
728x90
반응형

구현 유형의 문제

  • 초점이 구현에 맞추어져 있는 문제
  • 풀이는 쉽지만 소스코드로 옮기기 어려운 문제
  • 알고리즘은 간단한데, 코드가 길어진다
  • 실수 연산을 다루고, 특정 소수점 자리까지 출력해야 하는 문제
  • 문자열을 특정 기준에 따라 끊어 처리해야하는 문제
  • 적절한 라이브러리를 찾아서 사용해야하는 문제

2차원 공간은 행렬의 의미로 사용된다
이중 for문을 사용

시뮬레이션 및 완전 탐색 문제에서는 2차원 공간에서의 방향 벡터가 자주 사용된다

dx = [ 0, -1, 0, 1]

dy = [1, 0, -1, 0]

 

현재 위치

x, y = 2, 2

 

for i in range(4)

 

한 칸이 1 x 1이고, 전체 크기가 N x N인 정사각형 공간 위에서

가장 왼쪽 위 좌표는 1,1 가장 오른쪽 아래 좌표는 N,N일 때,

공간 밖의 움직임은 무시된다

URDL 문자열 move 가 주어졌을 때

현재 위치 1, 1에서 up right down left로 1칸씩 이동한다고 할 때,

이동 후 위치를 구하시오

 

```

x, y = 1, 1

 

dx = [ 0, -1, 0, 1]

dy = [1, 0, -1, 0]

move_types = ['L', 'R', 'U', 'D']

 

for plan in move:

    for i range(len(move_types)):

         if plan == move_types[i]:

             nx = x +dx[i]

             my = y + dy[i]

        if nx < 1 or ny < 1 or nx > n or  ny > n:

            continue

        x y = nx, ny

print(x, y)

반응형

댓글