본문 바로가기
📖 Coding Test/Programmers LV.0

[프로그래머스 LV.0] 7의 개수

by hyebin (Helia) 2023. 1. 19.
프로그래머스 LV.0 모음

7의 개수

문제 설명

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해 보세요.

제한 사항

  • 1 ≤ array의 길이 ≤ 100
  • 0 ≤ array의 원소 ≤ 100,000

입출력 예

array result
[7, 77, 17] 4
[10, 29] 0

입출력 예 설명

입출력 예 #1

  • [7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다.

입출력 예 #2

  • [10, 29]에는 7이 없으므로 0을 return 합니다.

제출

import Foundation

func solution(_ array:[Int]) -> Int {
    var answer = 0
    
    for a in array{
        if a == 7{
            answer += 1
            continue
        }
        
        var num = a
        while num > 0{
            if num%10 == 7{
                answer += 1
            }
            num /= 10
        }
    }
    return answer
}
입력받은 배열의 요소를 하나씩 확인하며, 7이라면 answer 변수에 1을 더한다.
7이 아니라면 정수를 한 자리씩 확인하여 7의 개수를 answer 변수에 더한다.

다른 풀이

import Foundation

func solution(_ array:[Int]) -> Int {
    return array.map{String($0)}.joined().filter{$0 == "7"}.count
}
정수형 배열을 String으로 변환한 후, filter 함수를 사용해 7의 개수를 구한 후 반환한다.
반응형

댓글