문제
문제 풀이
1. 행렬 좌표값 받아 둘 Point 클래스 선언
//좌표 클래스
class Point {
int r, c;
public Point(int r, int c) {
this.r = r;
this.c = c;
}
}
2. key의 돌기, lock의 홈 좌표를 받아둘 두 개의 ArrayList 생성
- lockList<Point>
- keyList<Point>
3. lockList : r, c가 작은 값부터 정렬
4. keyList는 각도 회전이 가능하므로 총 4가지 방법으로 정렬을 함
- r↑ c↑
- r↑ c↓
- r↓ c↑
- r↓ c↓
- r↓ c↓
5. lockList 담긴 순서대로 각 좌표간의 길이차이를 arr배열에 다시 저장해둠
6. keyList 반복하면서 마찬가지로 좌표간의 길이차를 계산하고 arr배열과 맞춰봄
7. 만약 다르면 arr초기화하고 continue
8. 이런 식으로 진행
소스 코드
나중에 해볼 것,,,,
'Algorithm > Programmers' 카테고리의 다른 글
[프로그래머스] 행렬 테두리 회전하기 자바 (1) | 2022.10.05 |
---|---|
[프로그래머스] 보석 쇼핑 자바 (0) | 2022.04.25 |
[프로그래머스] 단체사진 찍기 자바 (0) | 2022.01.21 |
[프로그래머스] 등굣길 자바 (0) | 2022.01.11 |
[프로그래머스] 키패드 누르기(2020카카오 인턴십) 자바 (0) | 2021.11.25 |