[Algorithm] (이코테) 왕실의 나이트- 파이썬
교재 : 이것이 코딩 테스트다 with 파이썬CHAPTER 4 구현실전문제 4-3 왕실의 나이트 114p행복 왕국의 왕실 정원은 체스판과 같은 8 × 8 좌표 평면이다. 왕실 정원의 특정한 한 칸에 나이트가 서있다.나
velog.io
pg115~117
항상 문제보면서, 어떻게하면 간단하게 문제를 풀 수 있을까 생각합니다.
너무 복잡하게 생각하지 않습니다.
예로들면
1.8x8 배열을 만드는 것을 먼저 생각했음.
-> 이러면 안된다.
2.도착지점만 생각해서 하면됬는데, 그 과정에서 체크할지에 대해서 고민했음
-> 체크도 해야하긴하겠지만, 그랬으면 애초에 나이트 이동방식이 달랐을 것입니다.
public class Main { public static String str; // 나이트가 이동할 수 있는 8가지 방향 정의 public static int[] dx = {-2,-1,1,2,2,1,-1,-2}; public static int[] dy = {-1,-2,-2,-1,1,2,2,1}; public static void main(String[] args) { Scanner sc = new Scanner(System.in); str = sc.nextLine(); int row = str.charAt(1) - '0'; int column = str.charAt(0) - 'a'+1; // 8가지 방향에 대하여 각위치로 이동이 가능한지 확인 int result = 0; for(int i=0;i<8;i++) { int nextRow = row + dx[i]; int nextColumn = column + dy[i]; // 해당위치로 이동이 가능하다면 카운트 증가 if(nextRow >= 1 && nextRow <=8 && nextColumn >= 1 && nextColumn <=8) { result += 1; } } System.out.println(result); } }
'기타 > 이것이코딩테스트다' 카테고리의 다른 글
[이것이 코딩테스트다][구현] 게임개발 - 구현 관련 문제(이론) (0) | 2022.03.05 |
---|---|
[이것이 코딩테스트다][구현] 시각 - 구현 관련 문제(이론) (0) | 2022.01.15 |
[이것이 코딩테스트다][구현] 상하좌우 - 구현 관련 문제(이론) (0) | 2022.01.15 |
[이것이 코딩테스트다] 미로 탈출 - BFS 관련 문제 (0) | 2022.01.13 |