문제
바탕화면 아이콘("#")을 최소로 드래그할 수 있는 S좌표부터 E좌표의 값을 각각 배열에 넣어 반환하는 문제
풀이 과정
- S는 기존 배열의 인덱스와 같다.
- E는 기존 배열의 인덱스 + 1 이다.
- S는 "#"이 들어있는 인덱스 중 x가 가장 적은 인덱스의 x와 y가 가장 적은 인덱스의 y를 조합
- E는 반대
코드
import kotlin.math.*
class Solution {
fun solution(wallpaper: Array<String>): IntArray {
val saveX = ArrayList<Int>()
val saveY = ArrayList<Int>()
for(x in wallpaper.indices){
for(y in wallpaper[x].indices){
if(wallpaper[x][y] == '#') {
saveX.add(x)
saveY.add(y)
}
}
}
val (lux, luy) = arrayOf(saveX.minOf{it}, saveY.minOf{it})
val (rdx, rdy) = arrayOf(saveX.maxOf{it}+1, saveY.maxOf{it}+1)
return intArrayOf(lux, luy, rdx, rdy)
}
}
'코딩 테스트 > Lv.1' 카테고리의 다른 글
[프로그래머스] 키패드 누르기 with Kotlin (0) | 2023.11.06 |
---|---|
[프로그래머스] 햄버거 만들기 with Kotlin (0) | 2023.11.06 |
[프로그래머스] 신고 결과 받기 with Python (0) | 2023.11.04 |
[프로그래머스] 달리기 경주 with Python (0) | 2023.11.04 |
[프로그래머스] 개인 정보 수집 유효기간 with Python (1) | 2023.11.04 |