[백준_2174] 로봇 시뮬레이션 python
dx, dy 테크닉을 이해하고 있으면, 그리 어렵지 않게 해결할 수 있는 문제였다. # a, b 입력 a, b = map(int, input().split()) # n, m 입력 n, m = map(int, input().split()) # 로봇들의 정보를 담아 줄 리스트 robot_data = [0] # mapper mapper = { 'N': 0, 'E': 1, 'S': 2, 'W': 3, } # 리스트에 로봇들 정보 담아주기 for _ in range(n): x, y, dir = input().split() x, y = int(x), int(y) robot_data.append([x, y, mapper[dir]]) # 함수들 # turn_left(robot_num, times) def turn_le..
2022. 9. 16.
[백준_14499] 주사위굴리기 python
# n, m, x, y, k 입력 n, m, x, y, k = map(int, input().split()) # grid 입력 grid = [ list(map(int, input().split())) for _ in range(n) ] # order_list 입력 order_list = list(map(int, input().split())) # 함수들 # in_range(x, y) def in_range(x, y): return 0
2022. 9. 4.
[백준_14503] 로봇청소기 python
확실히 시뮬레이션 문제를 풀 때에는, 여러 조건들을 함수화하여 체크하는 것이 좋은 것 같다. # n, m 입력 n, m = map(int, input().split()) # r, c, d입력 r, c ,d = map(int, input().split()) # room 입력 room = [ list(map(int, input().split())) for _ in range(n) ] # 함수들 # all_cleaned_or_wall(x, y): def all_cleaned_or_wall(x, y): dxs, dys = [-1, 1, 0, 0], [0, 0, 1, -1] for dx, dy in zip(dxs, dys): # 주변 위치 nx, ny = x + dx, y + dy # 청소안되어있는 빈칸이 나오면..
2022. 8. 28.
[백준_1063] 킹 python
돌이 있는 경우를 or이 아닌 and로 조건처리했다가 계속 틀렸었다. 조심,, # k, s, n 입력 k, s, n = input().split() n = int(n) # mapping mapping = { 'A': 1, 'B': 2, 'C': 3, 'D': 4, 'E': 5, 'F': 6, 'G': 7, 'H': 8, } # mapping 이용하여 좌표 반환 kx = mapping[k[0]] ky = int(k[1]) sx = mapping[s[0]] sy = int(s[1]) # R L B T RT LT RB LB dx = [1, -1, 0, 0, 1, -1, 1, -1] dy = [0, 0, -1, 1, 1, 1, -1, -1] # def in_range(x, y): def in_range(x, y..
2022. 8. 4.
[백준_8911] 거북이 python
dx, dy테크닉을 이용하여 문제를 해결해 보았다. # 북 동 남 서 순으로 dx, dy 설정 dx, dy = [0, 1, 0, -1], [1, 0, -1, 0] # t 입력 t = int(input()) for _ in range(t): # 북쪽 바라보고 시작 dir_num = 0 # x, y 초기설정 x, y = 0, 0 # 최소 최댓값 설정 min_x, max_x, min_y, max_y = 0, 0, 0, 0 # order 입력 orders = input() for order in orders: # 전진 if order == 'F': x, y = x + dx[dir_num], y + dy[dir_num] # 후진 elif order == 'B': x, y = x + dx[(dir_num + 2) ..
2022. 8. 3.