문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. func solution(_ n:Int64) -> [Int] { let reversedString = String(n).reversed() return reversedString.compactMap { Int(String($0))} }위 코드에서 String(n).reversed() 는 숫자로 주어진 n 을 문자열(String)로 변환한 뒤 뒤집은 것(.reversed())을 나타낸다. 이렇게 문자열로 변경 후 뒤집은 문자를 reversedString 변수 내 저장한 후 이 값을 배열로 나타내..
문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다.func solution(_ x:Int, _ n:Int) -> [Int] { if x == 0 { return Array(repeating: 0, count: n) } return Array(stride(from: x, to: x + n * x, by: x)) }먼저 x 부터 시작해 x 씩 증가하는 이라는 문제를 봤을때 이전에 활용했던 stride 를 사용할 수 있을 것 같..
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000import Foundation func solution(_ n:Int) -> Int { for i in 2 ..< n { if n % i == 1 { return i } } return 0 }n을 x로 나눈 수가 나머지가 1이되는 수를 구하는 식을 만들면 for 반복문을 사용하여 i에 3이상의 n 을 담는다. if문을 사용하여 n 을 i 로 나눠 나머지 1을 가지는 수를 구한 후 이 수를 반환하면 문제가 풀린다.
문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다.func solution(_ n:Int) -> Int { guard n > 0 else { return 0 } var sum = 0 for number in 1...n { if n % number == 0 { sum += number } }먼저 정수인 0부터 n까지의 수를 for 반복문을 사용하여 값을 구한 뒤 if 문을 사용하여 약수를 구했다. 약수는 정수가 나눠질 수 있는 최소한의 수 이므로, number에 나온 값에 n을 나눴을때 나머지가 0인 수들을 저장하였고 그렇게 나온 약수들의 합을 구해야 하므로, number에 약수들의 합을 sum에 저..
알고리즘 풀이 문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 import Foundation func solution(_ n: Int) -> Int { let digits = String(n) var sum = 0 for char in digits { if let digit = Int(String(char)) { sum += digit } } return sum } 오늘 이 알고리즘은 Int 값을 String으로 바꾸는 법을 알지 못해 거의 손을 대지 못했다.. 먼저 n 값의 타입을 Strin..
알고리즘 풀이 문제 설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다.func solution(_ num:Int) -> String { if num % 2 == 0 { return "Even" } else { return "Odd" } }오늘은 따로 오답이 없이 내가 생각한 수식이 그대로 정답이었다.. 기분이 매우 좋았다. 저 식을 작성한 이유는 정수 num의 짝수의 값을 정하여 짝수의 값과 홀수의 값을 구하는 것이었으며, 이는 if 문을 통해 표현 할 수 있다고 생각했다. 그렇기 때문에 num 을 2로 나눴을때 나머지가 0이라는 말은 짝수라는 말이므로 "Even"..