티스토리 뷰

728x90

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

 

문제 사진

내 풀이

import Foundation

func solution(_ cipher:String, _ code:Int) -> String {
    return (1...cipher.count)
        // 1
        .filter { $0.isMultiple(of: code) }  
        // 2
        .map { String(Array(cipher)[$0 - 1]) }  
        // 3
        .joined(separator: "") 
}

solution("pfqallllabwaoclk", 2)


1.  isMultiple(of:) 메서드로 매개변수 code 만큼의 배수들만 걸러냅니다.

     print [2, 4, 6, 8, 10, 12, 14, 16]

2. 걸러낸 배열의 숫자들로 cipher[index]로 접근합니다.

    print ["f", "a", "l", "l", "b", "a", "c", "k"]

3. joined(separator:) 메서드로 하나의 문자열로 합쳐줍니다. 

    print "fallback"

 

728x90