TIL: Swift에서 배열 요소의 내림차순 순위 매기기

jeongmuyamette·2024년 12월 12일

TIL

목록 보기
16/72
post-thumbnail

TIL: Swift에서 배열 요소의 내림차순 순위 매기기

오늘은 Swift에서 배열의 각 요소에 대해 내림차순 순위를 매기는 방법을 배웠습니다. 이 방법은 응급도와 같은 우선순위를 정할 때 유용합니다.

문제 해결 방법

  1. 결과 배열 초기화:

    • 응급도 배열과 같은 크기의 결과 배열을 생성하여 순위를 저장할 준비를 합니다.
  2. 이중 반복문 사용:

    • 첫 번째 for문을 통해 각 요소를 순회합니다.
    • 두 번째 for문을 통해 현재 요소와 나머지 요소들을 비교합니다.
  3. 순위 계산:

    • 다른 요소가 더 크면 현재 요소의 순위를 증가시킵니다.
  4. 순위 저장:

    • 계산된 순위를 결과 배열에 저장합니다.
  5. 결과 반환:

    • 모든 순위 계산이 완료되면 결과 배열을 반환합니다.

코드 예시

import Foundation

func solution(_ emergency: [Int]) -> [Int] {
    var ranks = [Int](repeating: 0, count: emergency.count)
    
    for i in 0..<emergency.count {
        var rank = 1
        for j in 0..<emergency.count {
            if emergency[i] < emergency[j] {
                rank += 1
            }
        }
        ranks[i] = rank
    }
    
    return ranks
}

// 테스트 케이스
let result1 = solution([3, 76, 24])
let result2 = solution([1, 2, 3, 4, 5, 6, 7])
let result3 = solution([30, 10, 23, 6, 100])

print(result1) // [3, 1, 2]
print(result2) // [7, 6, 5, 4, 3, 2, 1]
print(result3) // [2, 4, 3, 5, 1]

배운 점

  • 이중 반복문을 사용하여 간단한 비교를 통해 순위를 매길 수 있습니다.
  • 배열의 인덱스를 활용하여 결과를 저장하고 반환합니다.
  • 기본적인 조건문과 반복문만으로도 충분히 문제를 해결할 수 있습니다.

0개의 댓글