지끈지끈

알고리즘 문제 풀이 - 머쓱이 보다 키 큰 사람 (filter) 본문

iOS/알고리즘

알고리즘 문제 풀이 - 머쓱이 보다 키 큰 사람 (filter)

지끈지끈 2023. 8. 15. 00:06


 

문제 분석

 

  • 주어진 배열에서 특정 값보다 큰 원소의 갯수를 찾는 문제이다.
  • 반복문을 써서 배열을 순회하여 특정값(height) 보다 큰 숫자가 있으면 count를 +1씩 올리면 될것같다.

 

문제 풀이

 

 

func solution(array: [Int], height: Int) -> Int {
    var count = 0
    
    for person in array {
        if person > height {
            count += 1
        }
    }
    
    return count
}

 

  • var count = 0: 매개변수 height보다 큰 수가 몇개인지 체크하는 변수.
  • 매개변수로 주어지는 array를 반복문을 돌려서 만약 person에 들어오는 원소가 height보다 크다면, count를 +1 한다.

 

문제 풀이 2

 

 

func solution(_ array:[Int], _ height:Int) -> Int {
    return array.filter { $0 > height }.count
}

 

  • filter 고차함수를 쓰면 간단하게 해결가능하다.
  •  return array.filter { $0 > height }.count: 여기서 array.filter는 주어진 배열 array에서 조건을 만족하는 원소들을 걸러내는 역할을 한다.
  • $0은 클로저에서 현재 원소를 나타내고, $0 > height는 현재 원소가 height보다 큰지를 체크하는 조건이다.