본문 바로가기
728x90

코딩테스트17

[백준/BOJ] 2174번 - 로봇 시뮬레이션(Python) · 문제링크 https://www.acmicpc.net/problem/2174 2174번: 로봇 시뮬레이션 첫째 줄에 두 정수 A, B가 주어진다. 다음 줄에는 두 정수 N, M이 주어진다. 다음 N개의 줄에는 각 로봇의 초기 위치(x, y좌표 순) 및 방향이 주어진다. 다음 M개의 줄에는 각 명령이 명령을 내리는 순 www.acmicpc.net · 핵심 1. 방향에 따라 움직임 : dx-dy 테크닉 사용 2. 격자 내 움직임 : in_range 함수로 판단 3. 편한 좌표계로 변환(convert_coordinates) 및 문자 방향 동(0)남(1)서(2)북(3)에 맞게 변환(direction) ≫ (기존) 1base의 왼쪽 하단(1, 1) - 오른쪽 상단(n, m) → (변형) 0base의 왼쪽 상단(.. 2023. 9. 11.
[코드트리 챌린지] 1주차 - 거울에 레이저 쏘기 2(Python) 문제링크 https://www.codetree.ai/cote/13/problems/shoot-a-laser-in-the-mirror-2?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 핵심 1. 방향에 따라 움직임 : dx-dy 테크닉 사용 2. 격자 내 움직임 : in_range 함수로 판단 3. k에 따른 방향 판단 : n에 대한 주기성 활용 → 예시) 1 ~ 12 - 0 ~ 11 : 0base로 변경 ≫ 「동(0)남(1)서(2)북(3)」 "0 ~ 2인 위쪽변"은 "몫이 0"이 되.. 2023. 9. 10.
[코드트리 챌린지] 1주차 - 빙빙 돌며 사각형 채우기(Java) 문제링크 https://www.codetree.ai/cote/13/problems/snail-alphabet-square?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 핵심 1. 시계방향에 따라 움직임 : dx-dy 테크닉 사용 + 시계방향(curDir = (curDir + 1) % 4) 2. 격자 내 움직임 : inRange 함수로 판단 3. 도착 유무 파악 : board[nr][nc] != 0 판단 4. 알파벳 채우기 A - Z 반복 : 모듈러 연산 활용 ( idx % 26) 코.. 2023. 9. 8.
[코드트리 챌린지] 1주차 - 빙빙 돌며 숫자 사각형 채우기(Python, Java) 문제링크 https://www.codetree.ai/cote/13/problems/snail-number-square?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 핵심 코드 n, m = map(int,input().split()) board = [[0 for _ in range(m)]for _ in range(n)] # 동남서북 dr = [0, 1, 0, -1] dc = [1, 0, -1, 0] # 초기값 설정 cr, cc = 0, 0 cur_dir = 0 board[cr][cc].. 2023. 9. 7.
[코드트리 챌린지] 1주차 - Simulation (1) ★ 핵심 : 방향 관련 Simulation 유형 : 방향 회전을 위한 dx, dy 정의 방법 현재 바라보는 방향(cur_dir) 변수 선언 & 동(0) 남(1) 서(2) 북(3) 로 설정하기 시계방향 90도 회전 cur_dir = (cur_dir + 1) % 4 반시계방향 90도 회전 cur_dir = (cur_dir -1 + 4) % 4 180도 회전 cur_dir = (cur_dir + 2) % 4 1. 좌표 # 동(0)남(1)서(2)북(3) dx = [1, 0, -1, 0] dy = [0, -1, 0, 1] # 현재 바라보는 상태 북쪽 cur_dir = 3 # 시계방향 90 회전 cur_dir = (cur_dir + 1) % 4 # 반시계방향 90 회전 cur_dir = (cur_dir - 1 + .. 2023. 9. 7.
728x90
반응형