16932번 - 모양 만들기
0%에서 틀리나 98%에서 틀리나 별 차이 없는건 알고 있습니다... 근데 도저히 모르겠습니다.. 왜 이게 틀린건지 감도 안오고 미치겠습니다.. 고수님들 한번만 도와주십쇼..ㅠㅠ
제가 푼 방법
일단 저는 모든 0에 대해서 판단할 필요가 없다고 생각했습니다. 1의 주변에 있는 곳에서 0 -> 1 의 변화가 최댓값을 도출할 수 있다고 생각했기 때문입니다.
그래서 저는 처음 입력받은 1에 대한 위치를 enqueue()로 넘긴 뒤 해당 위치에 대한 주변(제 코드에서는 next.x, next.y)에 0을 1로 변환할 수 있다고 생각했습니다.
그리고 그 0에서 1로 바뀐 위치에 대한 주변에 연결 될 수 있는 그룹의 크기를 더해서 각 상황별로 최대값을 구할 수 있다고 생각했습니다.
제가 말을 못해서 괜히 더 어렵게 설명드린거 같습니다.. 계속 안풀려서 구글링 했는데 제 방법과 구글링해서 나오는 코드의 다른 점은
구글링은 모든 0의 좌표를 확인하고
저는 1의 주변에 있는 0의 좌표만 확인하는 점이 다른 부분입니다.
주석 달겠습니다.. 제발 한번만 도와주십쇼...
댓글을 작성하려면 로그인해야 합니다.
jwl0105 1년 전
0%에서 틀리나 98%에서 틀리나 별 차이 없는건 알고 있습니다... 근데 도저히 모르겠습니다.. 왜 이게 틀린건지 감도 안오고 미치겠습니다.. 고수님들 한번만 도와주십쇼..ㅠㅠ
제가 푼 방법
일단 저는 모든 0에 대해서 판단할 필요가 없다고 생각했습니다. 1의 주변에 있는 곳에서 0 -> 1 의 변화가 최댓값을 도출할 수 있다고 생각했기 때문입니다.
그래서 저는 처음 입력받은 1에 대한 위치를 enqueue()로 넘긴 뒤 해당 위치에 대한 주변(제 코드에서는 next.x, next.y)에 0을 1로 변환할 수 있다고 생각했습니다.
그리고 그 0에서 1로 바뀐 위치에 대한 주변에 연결 될 수 있는 그룹의 크기를 더해서 각 상황별로 최대값을 구할 수 있다고 생각했습니다.
제가 말을 못해서 괜히 더 어렵게 설명드린거 같습니다.. 계속 안풀려서 구글링 했는데 제 방법과 구글링해서 나오는 코드의 다른 점은
구글링은 모든 0의 좌표를 확인하고
저는 1의 주변에 있는 0의 좌표만 확인하는 점이 다른 부분입니다.
주석 달겠습니다.. 제발 한번만 도와주십쇼...