728x90
반응형
코딩테스트를 준비하는 머쓱이는 프로그래머스에서 문제를 풀고 나중에 다시 코드를 보면서 공부하려고 작성한 코드를 컴퓨터 바탕화면에 아무 위치에나 저장해 둡니다. 저장한 코드가 많아지면서 머쓱이는 본인의 컴퓨터 바탕화면이 너무 지저분하다고 생각했습니다. 프로그래머스에서 작성했던 코드는 그 문제에 가서 다시 볼 수 있기 때문에 저장해 둔 파일들을 전부 삭제하기로 했습니다.
class Solution {
fun solution(wallpaper: Array<String>): IntArray {
var answer: IntArray = intArrayOf(-1, -1, -1, -1)
wallpaper.forEachIndexed { index, s ->
val firstIdx = s.indexOfFirst { c -> c == '#' }
val lastIdx = s.indexOfLast { c -> c == '#' }
if (firstIdx != -1) {
// 시작점 x
if (answer[0] == -1) answer[0] = index
// 끝점 x
answer[2] = index
// 시작점 y
if (answer[1] == -1 || answer[1] > firstIdx) answer[1] = firstIdx
}
if (lastIdx != -1) {
// 끝점 y
if (answer[3] == -1 || answer[3] < lastIdx) answer[3] = lastIdx
}
}
answer[2] += 1
answer[3] += 1
return answer
}
}
728x90
반응형
'Kotlin > 코딩테스트' 카테고리의 다른 글
[프로그래머스] 공원 산책 - kotlin (0) | 2023.04.03 |
---|---|
[프로그래머스] 개인정보 수집 유효기간 - kotlin (0) | 2023.03.14 |
[프로그래머스] 다음에 올 숫자 - kotlin (0) | 2023.03.12 |
[프로그래머스] 분수의 덧셈 - kotlin (0) | 2023.03.11 |
[프로그래머스] 연속된 수의 합 - kotlin (0) | 2023.03.11 |