상세 컨텐츠

본문 제목

카카오 2022 BLIND RECRUITMENT - 파괴되지 않은 건물 (Swift)

Swift알고리즘

by 앱등개발자IOS 2022. 6. 11. 21:27

본문

 

2차원 공간에서 누적합 문제를 풀어보았다면 해결할 수 있었던 문제이다.

유사한 문제를 풀어본 경험이 없다면 이와같은 아이디어를 떠올리기는 쉽지 않을 것 같다.

필자도 처음 이 문제를 접했을 때는 정확도만 해결했고, 모든 TC에서 시간초과 판정을 받았다.

 

아래의 블로그에서 누적합 풀이방식과 그림을 참고하여 Swift로 작성해 시간을 통과할 수 있었다.

 

아래의 방식으로, 매 번 직사각형의 모든 범위에 값을 갱신하지 않고,

직사각형의 꼭짓점 "네 곳" ( 오른쪽 변의 두 모서리는 한 칸 더 확장하여 위치함)만 갱신해준 후,

 

마지막에 26~ 30번 코드와 같이 가로로 전파

31~36 코드와 같이 세로로 전파 해준다.

 

이후 2차원 배열을 모두 탐색하며 1보다 크게 되는 칸의 수만 센다.

 

그림 출처: https://kimjingo.tistory.com/155

 

[Programmers] 파괴되지 않은 건물 (Python 풀이) - 2022 KAKAO BLIND RECRUITMENT

https://programmers.co.kr/learn/courses/30/lessons/92344 코딩테스트 연습 - 파괴되지 않은 건물 [[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5],[5,5,5,5,5]] [[1,0,0,3,4,4],[1,2,0,2,3,2],[2,1,0,3,1,2],[1,0,1,3,3,..

kimjingo.tistory.com

관련글 더보기