본문 바로가기

프로그래머스 (Swift)/기초

(123)
[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..
[Day3-5] 두 수의 연산값 비교하기 문제 내 정답 코드 import Foundation func solution(_ a:Int, _ b:Int) -> Int { let num1 = Int(String(a) + String(b))! let num2 = 2 * a * b if num1 >= num2 { return num1 } else { return num2 } } # 1. 3-4번 문제와 비슷한 문제이다. 배운 기술
[Day3-4] 더 크게 합치기 문제 내 정답 코드 import Foundation func solution(_ a:Int, _ b:Int) -> Int { var strA = String(a) var strB = String(b) let strAB = strA + strB let strBA = strB + strA if Int(strAB)! > Int(strBA)! { return Int(strAB)! } else { return Int(strBA)! } } # 1. 타입 캐스팅을 통해 문자열로 연결하고 2. 정수형으로 바꾸어 비교한 후 큰 정수값을 반환한다. 3. 문자열이 숫자가 아닐 수 있기 때문에 옵셔널 형태로 바뀌어서 강제추출을 통해 저장한다. 배운 기술