테스트케이스 5,6,7에서 계속 실패가 뜨는 것을, 비어있는 칸을 "O"로 채워넣은 것 때문임을 모르고 한시간을 헤맸다...
대문자 A~Z가 모두 사용되는 것이 아니라, 예시에 사용된 카카오 캐릭터 8개의 첫 단어만 사용되는 줄 알고, "O"로 빈칸을 채워넣었었다....
이 때문에 예시 5,6,7이 실패가 뜨는 것을 모르고 헤메고있었다.....
이후 빈 칸을 영어 문자가 아닌 "*"로 바꾸니 바로 통과가 되었다.
1. 먼저 문자열로 주어진 배열을 한글자씩 쪼개어 2차원 String 배열로 바꾸어준다.
2. 파괴될 블록을 모두 to_delete에 담는다
-> 그때 그때 파괴하지 않는 이유는, 여러 2x2 영역에 겹쳐서 포함될 블록이 있을 수 있으므로, 미리 지우면 안됨
-> 지울 블록의 좌표는 겹쳐서 지우지 않기 위해 Set<[Int]>자료형을 사용
3. 지울 블록 수만큼 result에 더해줌
4. Set에 있는 모든 좌표들에 대하여, 2차원 배열에 "*"로 갱신
5. 아래서부터 위로 올라오며 빈 칸을 채워 내림
#### 중요 #### 그동안 지나친 "*" 의 갯수만큼 맨 위에 "*"로 채워줘야한다!!
카카오 2022 BLIND RECRUITMENT - 파괴되지 않은 건물 (Swift) (0) | 2022.06.11 |
---|---|
백준 2589: 보물섬 (Swift) (0) | 2022.06.07 |
2018 KAKAO BLIND RECRUITMENT [3차] 자동완성 (Swift) (0) | 2022.06.06 |
백준 11725: 트리의 부모 찾기 (Swift) (0) | 2022.06.06 |
백준 2644: 촌수계산 (Swift) (0) | 2022.06.06 |