[알고리즘 캠프 중급반] ①

krystal·2022년 8월 2일
0

알고리즘 공부

목록 보기
6/6

포인트만 정리해서 올리는 포스팅이다.

리스트와 튜플은 언팩킹으로 가능함

(ex) a, b, c = [1, 6, 2] ▶ 1, 6, 2

방향을 따로 딕셔너리 만드는게 좋다



for문에서 변수를 사용하지않을 때 생략한다

for _ in range(n)


dx, dy

dx, dy에 관한 리스트를 따로 생성한다.
방향에 관해서는 아예 딕셔너리로 따로 잡는다.

각 위치별 방향 번호를 설정한다

dir = {
'N': 0,
'W': 1,
'S': 2,
'E': 3
}

시계 방향 90' 회전

x,y축을 그려놓고 방향에 대해서 생각을 해보자.
90도씩 회전할 때 마다 +, - 가 달라진다.
그리고 변화되는 것들은 계속해서 반복이 된다.

dir_num = (dir_num + 1) % 4


반시계 방향 90' 회전

시계방향의 반대로 생각하면 된다.
음수가 나오는 경우를 고려해서 더하면 된다

dir_num = (dir_num - 1 + 4) % 4


파이썬의 조건문은 왼쪽에서부터 시작한다



2차원 배열 생성

arr_2d = [
    list(map(int, input().split()))
    for _ in range(n)
]

배열의 인덱스 관련 문제

2차원 배열에서 상하좌우의 존재를 확인하는 문제들이 있다. 이럴 때, 행과 열을 체크하여 가장자리에 있는지 확인하는 함수를 따로 만들어주어 이를 체크할 수 있도록 해준다.

profile
https://source-coding.tistory.com/

0개의 댓글

관련 채용 정보