[프로그래머스] 가까운 1 찾기

devel_liz·2025년 1월 2일
1

코딩테스트

목록 보기
40/45

🗒 문제

문제대로 풀었는데 계속 답이 안 나와서 질문하기 페이지에 봤더니 문제가 잘못 나와있었다.
idx보다 크면서 x -> idx보다 같거나 크면서 o
문제 풀 때 참고하시길...!


📝 나의 문제풀이

class Solution {
    fun solution(arr: IntArray, idx: Int): Int {
          for (i in idx until arr.size) {
            if (arr[i] == 1) {
                return i
            }
        }
        return -1
    }
    
}

📝 다른 사람의 문제 풀이

class Solution {
    fun solution(arr: IntArray, idx: Int): Int = (idx until arr.size).firstOrNull { arr[it] == 1 } ?: -1
}

🖊 문제 풀이 시 알면 좋을 것

  • firstOrNull { arr[it] == 1 }
    • firstOrNull은 컬렉션에서 첫 번째로 조건을 만족하는 요소를 찾는 함수입니다.
    • arr[it] == 1은 arr 배열의 it번째 인덱스에 해당하는 값이 1인지 확인하는 조건입니다.
    • it은 firstOrNull 내에서 자동으로 제공되는 현재 순회 중인 인덱스를 나타냅니다.
    • 만약 arr[it] == 1인 요소가 있으면 그 첫 번째 인덱스를 반환합니다. 만약 조건을 만족하는 요소가 없다면 null을 반환합니다.
profile
Android zizon

0개의 댓글

관련 채용 정보