본문 바로가기

프로그래머스 (Swift)

(165)
[Day5-5] 이어 붙인 수 문제 내 정답 코드 import Foundation func solution(_ num_list:[Int]) -> Int { var num1 = num_list.filter { $0 % 2 == 0 }.map { String($0) }.reduce("", +) var num2 = num_list.filter { $0 % 2 == 1 }.map { String($0) }.reduce("", +) return Int(num1)! + Int(num2)! } # 1. filter로 홀/짝수를 판단하고 (isMultiple 사용해도 됨) 2. map으로 String변환 후 reduce를 통해 문자열 덧셈을 하였다. (reduce -> joined로 사용 가능) 배운 기술
[Day5-4] 원소들의 곱과 합 문제 내 정답 코드 import Foundation func solution(_ num_list:[Int]) -> Int { let multiple = num_list.reduce(1,*) let plus = (num_list.reduce(0, +)) * (num_list.reduce(0,+)) return multiple < plus ? 1 : 0 } # 1. reduce를 통해 배열의 합과 곱을 계산하였다. 2. 삼항 연산자를 통해 더 큰 값을 비교하였다. 배운 기술
[Day5-3] 주사위 게임 2 문제 내 정답 코드 import Foundation func solution(_ a:Int, _ b:Int, _ c:Int) -> Int { if a == b && b == c { return (a + b + c) * (double(num: a) + double(num: b) + double(num: c)) * (triple(num: a) + triple(num: b) + triple(num: c)) } else if a == b || b == c || a == c { return (a + b + c) * (double(num: a) + double(num: b) + double(num: c)) } else { return a + b + c } } func double(num: Int) -> Int { ..
[Day5-2] 등차수열의 특정한 항만 더하기 문제 내 정답 코드 import Foundation func solution(_ a:Int, _ d:Int, _ included:[Bool]) -> Int { var result = 0 for i in 0..
[Day5-1] 코드 처리하기 문제 내 정답 코드 import Foundation func solution(_ code:String) -> String { var ref = "" var mode = false var idx = 0 for char in code { if !mode { if char == "1" { mode = true } else { if idx.isMultiple(of: 2) { ref += String(char) } } } else { if char == "1" { mode = false } else { if !idx.isMultiple(of: 2) { ref += String(char) } } } idx += 1 } return ref == "" ? "EMPTY" : ref } # 1. 문자열을 순회하며 각 조건..
[Day4-5] flag에 따라 다른 값 반환하기 문제 내 정답 코드 import Foundation func solution(_ a:Int, _ b:Int, _ flag:Bool) -> Int { return flag ? a + b : a - b } # 1. falg의 역할정도를 알려주는 간단한 문제 배운 기술
[Day4-4] 조건 문자열 문제 내 정답 코드 import Foundation func solution(_ ineq:String, _ eq:String, _ n:Int, _ m:Int) -> Int { if ineq == "!": return n > m ? 1 : 0 default: return 0 } } 배운 기술
[Day4-3] 홀짝에 따라 다른 값 반환하기 문제 내 정답 코드 import Foundation func solution(_ n:Int) -> Int { var result = 0 if n % 2 == 0 { for i in 0...n { if i % 2 == 0 { result += (i * i) } } } else { for i in 0...n { if i % 2 == 1 { result += i } } } return result } # 1. if문과 반복문을 사용하여 구현하였다. 위 코드는 잘 돌아가지만 지저분해 보여서 새로 코드를 짜보았다. filter, map, redece함수를 적용하여 해결하였다. import Foundation func solution(_ n:Int) -> Int { var result = 0 if n.isMulti..
[Day4-2] 공배수 문제 내 정답 코드 import Foundation func solution(_ number:Int, _ n:Int, _ m:Int) -> Int { return number.isMultiple(of: n) && number.isMultiple(of: m) ? 1 : 0 } # 1. isMultiple과 삼항연산자를 통해 공배수를 판단하였다. 배운 기술
[Day4-1] n의 배수 문제 내 정답 코드 import Foundation func solution(_ num:Int, _ n:Int) -> Int { return num % n == 0 ? 1 : 0 } # 1. %연산을 통해 해결하였다. isMultiple이라는 기술을 통해 구현할 수 있다. import Foundation func solution(_ num:Int, _ n:Int) -> Int { return num.isMultiple(of: n) ? 1 : 0 } 배운 기술 1. isMultiple(of: ) https://developer.apple.com/documentation/swift/int/ismultiple(of:) isMultiple(of:) | Apple Developer Documentation Ret..