[프로그래머스 LV0] 암호 해독

jonghwan·2022년 11월 9일
0

프로그래머스

목록 보기
52/71
post-thumbnail

1. 문제 설명

암호 해독

2. 문제 분석

문자열 제일 앞에 인덱스부터 code로 나눈 값이 0인 요소(code의 배수인 요소) 들로 문자열을 만들어준다.

3. 나의 풀이

import Foundation

func solution(_ cipher:String, _ code:Int) -> String {
    var result = ""

    for (i, s) in cipher.enumerated() {
        if (i + 1) % code == 0 {
            result += String(s)
        }
    }
    return result
}

enumerated() 메서드를 활용해서 문자열에 인덱스에 접근할 수 있었다 ! (배열에 사용한다고 하는데 문자열에도 사용이 가능하다.?)

4. 다른 사람의 풀이

import Foundation

func solution(_ cipher:String, _ code:Int) -> String {
    return cipher.enumerated().filter { ($0.offset + 1) % code == 0 }.map { String($0.element) }.joined()
}

풀이 방법은 같지만 filter, map 활용해서 단축해서 푸는 방법이다.

마지막에는 joined()로 문자를 합쳐준다.

0개의 댓글