728x90
반응형
오늘 풀어본 문제는 코틀린에서 forEach를 사용해보고,
여기서 continue와 break 역할을 어떻게 대체하면 좋을지 다시 복습해보는 과정이었다.
문제
문제는 l과 r이 나오는 시점에서 배열을 좌우로 자르면 되는 문제이다.
다만 위에서 잠시 언급했듯 break와 continue를 사용해야하는 이유가 문제에 있다.
배열을 좌우로 자르는 시점에서는 break가,
그렇지 않은 경우에는 continue가 필요하다.
풀이
먼저 forEachIndexed를 사용해 반복문을 대체 해주었고,
이 때 기존 Java처럼 continue, break는 사용할 수 없기에
run scope 함수로 감싸주었다.
그리고 나서, continue가 필요한 지점은 forEachIndexed를 리턴해주었고
break가 필요한 지점은 run scope 함수 자체를 리턴해주어
forEachIndexed가 더 이상 실행되지 않도록 처리했다.
forEachIndexed 내부를 보면 배열에 copyOfRange를 사용했는데,
이 함수의 두 파라미터 중 두번째 파라미터는 전달한 값보다 - 1의 인덱스까지 자르는 특성이 있다.
실행 결과
728x90
반응형
'프로그래머스' 카테고리의 다른 글
배열 조각하기 코틀린(Kotlin) (0) | 2024.11.12 |
---|---|
전국 대회 선발 고사 코틀린(Kotlin) (0) | 2024.11.10 |
[PCCE 기출문제] 7번 / 버스 자바(Java) (0) | 2024.11.07 |
바탕화면 정리 코틀린(Kotlin) (0) | 2024.10.31 |
[PCCE 기출문제] 3번 / 수 나누기 자바(Java) (3) | 2024.10.28 |