프로그래머스

[프로그래머스][Kotlin] 바탕화면 정리

끝까지 처음처럼 2023. 3. 3. 15:32
728x90

프로그래머스에 문제가 새로 나왔길래 한번 작성해보았습니다.

해당 문제는 시작점과 끝점을 어떻게 작성할 것인가? 를 잘 계획하면 쉽게 풀 수 있는 문제였습니다.

만약 헷갈린다면 하기 사진처럼 간단하게 그림을 그려서 좌표를 확인해 보는것도 좋은 방법일 수 있겠습니다.

하기는 작성한 코드와 실행 결과 입니다.

class Solution {
    fun solution(wallpaper: Array<String>): IntArray {
        var answer = intArrayOf(51,51,0,0) 
        
        for(i in 0 .. wallpaper.size-1){
            for(j in 0 .. wallpaper[i].length-1){
                if(wallpaper[i][j] == '#'){
                    if(answer[0] > i) answer[0] = i
                    if(answer[1] > j) answer[1] = j
                    if(answer[2] < i+1) answer[2] = i+1
                    if(answer[3] < j+1) answer[3] = j+1
                }
            }
        }
        
        return answer
    }
}
테스트 1 통과 (0.02ms, 62.3MB)
테스트 2 통과 (0.02ms, 61.4MB)
테스트 3 통과 (0.03ms, 62.1MB)
테스트 4 통과 (0.03ms, 62.7MB)
테스트 5 통과 (0.03ms, 59.9MB)
테스트 6 통과 (0.03ms, 61.8MB)
테스트 7 통과 (0.06ms, 59.7MB)
테스트 8 통과 (0.06ms, 61.5MB)
테스트 9 통과 (0.19ms, 61.2MB)
테스트 10 통과 (0.08ms, 60MB)
테스트 11 통과 (0.07ms, 61.2MB)
테스트 12 통과 (0.05ms, 61.4MB)
테스트 13 통과 (0.06ms, 63.1MB)
테스트 14 통과 (0.04ms, 59.5MB)
테스트 15 통과 (0.09ms, 60.8MB)
테스트 16 통과 (0.11ms, 60.6MB)
테스트 17 통과 (0.03ms, 60.2MB)
테스트 18 통과 (0.09ms, 62.3MB)
테스트 19 통과 (0.10ms, 62.4MB)
테스트 20 통과 (0.08ms, 60.7MB)
테스트 21 통과 (0.02ms, 62.5MB)
테스트 22 통과 (0.01ms, 61.7MB)
테스트 23 통과 (0.02ms, 61.9MB)
테스트 24 통과 (0.02ms, 62MB)
테스트 25 통과 (0.07ms, 62.6MB)
테스트 26 통과 (0.07ms, 60.9MB)
테스트 27 통과 (0.04ms, 62.2MB)
테스트 28 통과 (0.04ms, 59.6MB)
테스트 29 통과 (0.04ms, 61.2MB)
테스트 30 통과 (0.13ms, 59.9MB)
테스트 31 통과 (0.17ms, 60.7MB)