[프로그래머스] 배열 만들기 1

devel_liz·2025년 1월 2일
1

코딩테스트

목록 보기
37/45

🗒 문제


📝 나의 문제풀이

class Solution {
    fun solution(n: Int, k: Int): IntArray {
        return (1..n).filter{ it % k == 0 }.sorted().toIntArray()
    }
}

📝 다른 사람의 문제 풀이

class Solution {
    fun solution(n: Int, k: Int) = (k..n step k).toList()
}

🖊 문제 풀이 시 알면 좋을 것

  • (1..n)

    • 1에서 n까지의 값을 포함하는 정수 범위(IntRange)를 생성합니다.
    • 시작 값(1)부터 끝 값(n)까지 포함됩니다.
    • 반환 타입: IntRange.
    • 고차 함수 사용 가능: .filter, .map, .forEach 등.
      val range = 1..5
      println(range.toList())  // 출력: [1, 2, 3, 4, 5]
  • sorted()

    • 컬렉션의 요소를 오름차순으로 정렬한 새로운 리스트를 반환합니다.
    • 특징:
      • 원본 데이터를 변경하지 않고, 정렬된 새로운 컬렉션을 반환합니다.
      • 기본적으로 숫자는 오름차순, 문자열은 사전순 정렬됩니다.
      • 컬렉션(리스트, 배열 등)에서 사용 가능.
         val list = listOf(3, 1, 4, 2)
        println(list.sorted())  // 출력: [1, 2, 3, 4]
  • (k..n step k)
    • k부터 n까지의 범위를 생성하되, 간격이 k인 정수 범위를 만듭니다.
    • 특징:
      • 시작 값(k), 끝 값(n), 간격(step)을 지정할 수 있습니다.
      • 반환 타입: IntProgression.
      • 기본 범위(1..n)와 달리 step 간격으로 값을 포함.
       val range = 2..10 step 2
        println(range.toList())  // 출력: [2, 4, 6, 8, 10]
profile
Android zizon

0개의 댓글

관련 채용 정보