티스토리 뷰

728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120912

문제 사진

내 풀이

import Foundation

func solution(_ array:[Int]) -> Int {
    return array.map { String($0) }.joined(separator: "").filter { $0 == "7" }.count
}

1. array 요소들을 String으로 변환

2. 변환된 String을 하나의 String으로 합침 (joined)

3. String으로 변환된 결과값들 중 "7"이 들어간요소들의 갯수만 걸러냄 (filter)

 

다른사람의 풀이

import Foundation

func solution(_ array:[Int]) -> Int {
    return array.map{String($0)}.joined().filter{$0 == "7"}.count
}

joined() 이렇게만으로도 사용할 수 있었다..

 

배운것

[Int]에 있는 요소들을 다 합칠때

map(String으로 변환) + joined 

알고리즘 풀면서 자주쓸것 같다.



 

예제

// [7, 77, 17] -> "77717" 

var array: [Int] = [7, 77, 17]

print(array.map { String($0) }.joined(separator: ""))

// 77717

 

728x90