본문 바로가기

프로그래머스 (Swift)

(165)
[lv1] x만큼 간격이 있는 n개의 숫자 문제 내 정답 코드func solution(_ x:Int, _ n:Int) -> [Int64] { var result:[Int64] = [] (1...n).map { result.append(Int64((x*$0))) } return result} #1. n번만큼 반복문을 돌린다2. result라는 배열에 인덱스와 x값을 곱한 값을 추가한다.3. result를 반환한다.배운 기술
[lv1] 두 개 뽑아서 더하기 문제 내 정답 코드import Foundationfunc solution(_ numbers:[Int]) -> [Int] { var result:[Int] = [] (0.. #1. 두 번의 반복문을 통해 2개의 값을 뽑아 더한다2. 더한 값이 result배열에 있는지 확인하고 없다면 추가한다.3. result 배열을 오름차순으로 반환한다.배운 기술
[lv1] 약수의 개수와 덧셈 문제 내 정답 코드import Foundationfunc solution(_ left:Int, _ right:Int) -> Int { var result = 0 (left...right).map { if calDivisorCount(num: $0).isMultiple(of: 2) { result += $0 } else { result -= $0 } } return result}func calDivisorCount(num: Int) -> Int { var count = 0 for i in 1...Int(sqrt(Double(num))) { if num % i == ..
[lv1] 숫자 문자열과 영단어 문제 내 정답 코드import Foundationfunc solution(_ s:String) -> Int { let numbers = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] var s = s for i in 0.. #1. 들어온 문자열의 숫자 단어를 실제 숫자로 바꿔주어야 한다.2. 모든 숫자 단어를 배열로 선언한다.3. 숫자 단어 배열을 반복문으로 돌리고4. 각 해당 단어가 있다면 현재 index로 replace해준다.5. 계산된 문자열을 정수로 반환한다.배운 기술
[lv1] 음양 더하기 문제 내 정답 코드import Foundationfunc solution(_ absolutes:[Int], _ signs:[Bool]) -> Int { var result = 0 (0.. #1. 주어진 2개의 배열의 count는 같으므로 signs의 count만큼 배열을 돌린다.2. n번째 signs의 값이 true라면 i번째 absolutes의 값을 result에 더해준다3. false라면 빼준다.4. 최종 계산된 값을 반환한다.배운 기술
[lv1] 부족한 금액 계산하기 문제 내 정답 코드import Foundationfunc solution(_ price:Int, _ money:Int, _ count:Int) -> Int64 { var sum = 0 (1...count).map { sum += $0 * price } return Int64(sum - money) > 0 ? Int64(sum - money) : 0} #1. 탈 때마다 탄 만큼의 곱만큼 입장료를 낼 때, 모든 입장료를 sum에 더한다.2. 현재 가진 돈보다 sum이 많으면 부족한 만큼의 돈을 반환하고3. 아니라면 0을 반환한다.배운 기술
[lv1] 푸드 파이트 대회 문제 내 정답 코드import Foundationfunc solution(_ food:[Int]) -> String { var result:[Int] = [] for i in 1.. #1. 음식의 개수를 2를 나눈 값 만큼의 인덱스를 result에 담아준다.2. 0과 result를 reverse한 배열을 더해준다.3. 정수 배열을 문자열로 바꾸어 반환한다.배운 기술
[lv1] 나머지가 1이 되는 수 찾기 문제 내 정답 코드import Foundationfunc solution(_ n:Int) -> Int { for i in 1.. #1. 1부터 n까지 반복문을 돌리고2. 나머지가 1이 되는 가장 작은 수를 반환한다.배운 기술
[lv1] 옹알이 (2) 문제 내 정답 코드import Foundationfunc solution(_ babbling:[String]) -> Int { var result = 0 for word in babbling { var word = word word = word.replacingOccurrences(of: "aya", with: "1") word = word.replacingOccurrences(of: "ye", with: "2") word = word.replacingOccurrences(of: "woo", with: "3") word = word.replacingOccurrences(of: "ma", with: "4") ..
[lv1] 명예의 전당 (1) 문제  내 정답 코드import Foundationfunc solution(_ k:Int, _ score:[Int]) -> [Int] { var kArr:[Int] = [] var result:[Int] = [] for value in score { kArr = calK(k: k, score: value, kArr: kArr) result.append(kArr.last!) } return result}func calK(k: Int, score: Int, kArr: [Int]) -> [Int] { var kArr = kArr kArr.append(score) kArr.sort(by: { $0 > $1 }) if ..