[수업]Spin And Slide
문제
풀이
처음에 그림1의 상태를 2차원 배열로 입력 받고, 90도 회전 밑 아래로 땅꺼짐 실시한다.
90도 회전 - 예외 발생하지 않게, 새로운 2차원 배열에 2중 for문으로 넣어줄 것(아래 7x7 예시)
x=1, y=6 => x=0, y=1
x=2, y=6 => x=0, y=2
x=2, y=5 => x=1, y=2
x=2, y=4 => x=2, y=2
x=2, y=3 => x=3, y=2
즉, y=x이고 x=(N-1)-y 로 자리 바꿈 해주면 된다는걸 알 수 있다.
아래로 땅꺼짐 - col을 맨 끝에서부터 접근, row는 N-2(N-1은 필요X)부터 접근하는 2중 for문을 작성
즉, 맨 오른쪽 아래 접근 후 점점 위로 접근해서 배열 요소 확인하는 방식
- 요소를 확인하다가
'.'
이 아닐 때(=문자일때) 땅꺼짐 위해 그 아래 행들만 for문으로 전부 확인!- 이때 아래 행이
'.'
이면? 맨마지막 행일때만 땅꺼짐을 위해 위에서 구한 문자로 switch
=> 맨마지막 행 아닐때는 그냥 continue 해야한다. - 만약 아래 행이
'.'
이 아닌 문자라면? 해당 문자의 바로 전 행에다가 위에서 구한 문자로 switch- 그러나 그 자리가 위에서 구한 문자와 동일한 경우는 무시해줘야 한다.
- 그리고 해당 for문은 break로 마무리 한다.
- 이때 아래 행이
댓글남기기