-
https://github.com/JUNGSOONIL/JAVA/blob/main/SW%EF%BB%BFAcademy%204013
해당 문제는 자석(톱니바퀴)의 정보가 주어졌을 때
해당 부분을 회전시킨 뒤 젤 상단 값이 1인 부분에 대해
조건에 맞는 계산식을 해서 계산을 하는 문제다.
하나의 자석이 1칸 회전할 때, 붙어있는 자석은 자성이 다를 경우 반대 방향으로 1칸 회전한다.
1번 자석은 1점 2번 자석은 2점 3번 자석은 4점 4번 자석은 8점을 얻을 수 있다.
시뮬레이션 문제며 처음 자석의 정보가 주어지는데
해당 정보를 2차원 배열로 처리하였으며,
서로 인접한 부분에 대해서는 visit 배열을 두었다.
1. 입력 처리 진행
2. 해당 자석들이 인접한지를 체크해 준다.
3. 처음 시작 자석을 회전 시킨다.
4. 시작 자석 기준 오른쪽 자석들을 인접 여부 체크를 통해 자성이 다르면 반대 방향으로 회전시킨다.
5. 시작 자석 기준 왼쪽 자석들을 인접 여부 체크를 통해 자성이 다르면 반대 방향으로 회전시킨다.
6. 입력값까지 2~5번을 반복한다.
7. 반복문을 돌려 2차원 배열의 젤 처음 값을 가져오고 해당 값을 계산해서 더해준다.
728x90'알고리즘 > SW Academy' 카테고리의 다른 글
SW Academy 5656 벽돌 깨기 JAVA (0) 2021.11.03 SW Academy 6026 성수의 비밀번호 공격 JAVA (0) 2021.11.03 SW Academy 1953 탈주범 검거 JAVA (0) 2021.11.03 SW Academy 1249 보급로 JAVA (0) 2021.11.03 SW Academy 5643 키 순서 JAVA (0) 2021.11.03 댓글