문제 설명 자연수 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"..
문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항 0 ≤ numbers의 원소 ≤ 1,000 1 ≤ numbers의 길이 ≤ 100 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다. 오늘은 풀이를 보지 않고 많이 고민하며 문제를 풀어봤으나 몇가지 생각나지 않는 부분이 있었다. 먼저 for 문을 사용하여 구해보려고 했다. 내가 쓴 답 import Foundation func solution(_ numbers:[Int]) -> Double { let sum = 0 for 0 ... numbers in { (sum += numbers) / numbers } return sum } for ..
첫번째 문제 문제 설명 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. 입출력 예 #1 num1이 3, num2가 2이므로 3 / 2 = 1.5에 1,000을 곱하면 1500이 됩니다.import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { let answer = (num1 * 1000) / num2 return answer }처음 이 문제를 풀때 적었던 식은 let answer = (num1 / num2) * 1000 이었다. 위 내용으로 풀이를 해보니 출력 예와 다르게 소수점 두자리까지 표현하지 못하고 소수점을 버리고 ..