본문 바로가기

 𝗔𝗣𝗣𝗟𝗘/ALGORITHM

[내일배움캠프] 데일리 루틴(iOS_3회차) - 나누어 떨어지는 숫자 배열

이미지를 클릭하면 코딩테스트 페이지로 이동합니다

 

내 풀이

func solution(_ arr:[Int], _ divisor:Int) -> [Int] {
    let check = arr.filter { ($0)%divisor == 0 }
    return check.count == 0 ? [-1] : check.sorted() 
}

 

정수 배열 arr에서 divisor로 나누어 떨어지는 요소들을 찾고, 해당 요소들을 오름차순으로 정렬하여 반환하도록 코드를 작성했다. 

  1. arr 배열을 filter 메서드를 사용하여 divisor로 나누어 떨어지는 요소들만을 필터링하여 새로운 배열 check에 저장
  2. check 배열의 길이를 확인하여 요소가 하나도 없는 경우를 처리
    • check.count == 0 조건을 사용하여 나누어 떨어지는 요소가 하나도 없는 경우를 확인
    • 이 경우 배열에 -1을 담아 반환
  3. 만약 나누어 떨어지는 요소가 존재하는 경우, sorted 메서드를 사용하여 요소들을 오름차순으로 정렬
  4. 정렬된 배열을 반환

 

 

 

divisor란?

- 어떤 수를 나눌 때 사용되는 수

- 위 문제에서는 정수 배열 arr의 각 요소를 divisor로 나누어 떨어지는지 확인하고, 그에 따라 필터링 및 정렬하는 작업을 수행한다.

    따라서 divisor는 나눗셈을 위한 수로 사용되었다.

 
sorted란?

- 배열의 요소를 기준에 따라 정렬하는 메서드

- 주어진 배열을 정렬하여 새로운 배열을 반환

    만약 기본적으로 오름차순으로 정렬하려면 sorted()를 사용하고,

    내림차순으로 정렬하려면 sorted(by:) 메서드를 사용하여 비교 클로저를 제공

- 이 메서드는 배열의 요소가 숫자, 문자열 또는 사용자 지정 객체 등 어떤 타입이든지 상관없이 사용할 수 있음 

 
 
 
Recent Posts
Visits
Today
Yesterday
Archives
Calendar
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31