반응형
구현
- 왕실의 나이트
소스코드
location = input() x = ord(location[0]) - ord('a') + 1 y = int(location[1]) dx = [-2,-1,1,2,2,1,-1,-2] dy = [-1,-2,-2,-1,1,2,2,1] count = 0 for i in range(8): nx = x + dx[i] ny = y + dy[i] if nx < 1 or ny < 1 or nx > 8 or ny > 8: continue count += 1 print("count = ", count)
- 게임 개발
소스코드
n, m = map(int, input().split(" ")) x,y,direction = map(int, input().split(" ")) my_map = [] for i in range(n): arr = list(map(int, input().split(" "))) my_map.append(arr) visited = [[0] * m for _ in range(n)] visited[x][y] = 1 count = 1 turn_count = 0 # 서 남 동 북 dx = [0, 1, 0, -1] dy = [-1, 0, 1, 0] while True: nx = x + dx[direction % 4] ny = y + dy[direction % 4] # 육지이면서 방문한 적이 없는 경우 if visited[nx][ny] == 0 and my_map[nx][ny] == 0: visited[nx][ny] = 1 x, y = nx, ny count += 1 turn_count = 0 continue else: direction += 1 turn_count += 1 if turn_count == 4: nx = x - dx[direction % 4] ny = y - dy[direction % 4] if my_map[nx][ny] == 1: break else: x, y = nx, ny turn_count = 0 print("count = ", count)
반응형
'자료구조 및 알고리즘 > 알고리즘' 카테고리의 다른 글
[알고리즘] 2018 KAKAO BLIND RECRUITMENT - [1차] 캐시 (0) | 2021.01.22 |
---|---|
[알고리즘] 2018 KAKAO BLIND RECRUITMENT - [3차] 방금 그곡 (0) | 2021.01.21 |
[알고리즘] 이것이 취업을 위한 코딩 테스트다 - Chapter 3 (0) | 2021.01.19 |
[알고리즘] DFS(깊이 우선 탐색) 정리 (0) | 2021.01.17 |
[알고리즘] 2018 KAKAO BLIND RECRUITMENT - [1차] 프렌즈4블록 (0) | 2021.01.14 |