[프로그래머스 | Lv.1] 나머지가 1이 되는 수 찾기
·
Data structure & Algorithm/프로그래머스
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. 나의 풀이 func solution(_ n:Int) -> Int { var answer ..
[프로그래머스 | Lv.1] 문자열을 정수로 바꾸기
·
Data structure & Algorithm/프로그래머스
문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 사항 1) s의 길이는 1 이상 5이하입니다. 2) s의 맨앞에는 부호(+, -)가 올 수 있습니다. 3) s는 부호와 숫자로만 이루어져있습니다. 4) s는 "0"으로 시작하지 않습니다. 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 나의 풀이 func solution(_ s:String) -> Int { return Int(s)! } 알게 된 점 처음에는 ! 없이 채점하니 런타임 에러가 났었습니다. 알고보니 !를 붙이지 않았던 것이였고, 그래서 소소하게..
[프로그래머스 | Lv.1] 평균 구하기
·
Data structure & Algorithm/프로그래머스
문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한 사항 1) arr은 길이 1 이상, 100 이하인 배열입니다. 2) arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 나의 풀이 func solution(_ arr:[Int]) -> Double { return Double(arr.reduce(0, +)) / Double(arr.count) }
[프로그래머스 | Lv.1] 약수의 합
·
Data structure & Algorithm/프로그래머스
문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. 나의 풀이 func solution(_ n:Int) -> Int { var answer = 0 if n == 0 { return 0 } else if n == 1 { return 1 } for i in 1...n/2 { if n % i == 0 { answer += i } } return answer + n }