
[프로그래머스] JadenCase 문자열 만들기
import Foundation func solution(_ s:String) -> String { var stringArray = (" " + s).map { String($0) } for index in 1..
import Foundation func solution(_ s:String) -> String { var stringArray = (" " + s).map { String($0) } for index in 1..
import Foundation func solution(_ answers:[Int]) -> [Int] { let array1:[Int] = [1,2,3,4,5] let array2:[Int] = [2,1,2,3,2,4,2,5] let array3:[Int] = [3,3,1,1,2,2,4,4,5,5] var ans: [Int] = Array(repeating:0, count: 3) for (index, value) in answers.enumerated() { if value == array1[index % 5] { ans[0] += 1 } if value == array2[index % 8] { ans[1] += 1 } if value == array3[index % 10] { ans[2] += 1 }..
func solution(_ num:Int) -> Int { func find(_ num :Int, _ count: Int = 0) -> Int { if num == 1 { return count} if count == 500 { return -1} if num % 2 == 0 { return find(num / 2, count + 1) } else { return find(num * 3 + 1, count + 1) } } return find(num) } 재귀함수를 사용해서 풀었습니다. num과 count를 파라미터로 정의하여 재귀호출 시 사용할 수 있도록 하였습니다. num이 1이 됐을 때는 count를 리턴하고, 500에 도달했을 경우는 불가능한 경우니까 -1을 리턴합니다. 짝수일 때는 num / ..
import Foundation func solution(_ babbling:[String]) -> Int { let wordDict: [String: Int] = ["aya": 0, "ye": 0, "woo": 0, "ma": 0] var ans:Int = 0 for babbl in babbling { var present:String = "" var previous:String = "" for char in babbl { present += String(char) if wordDict[present] != nil && present != previous { previous = present present = "" } } if present.isEmpty { ans += 1 } } return ans ..