목록코딩테스트 (17)
MUKER_DEV with iOS
제 문제 풀이는 최선의 풀이가 아닐 수 있습니다. 문제를 푸는 방법은 다양합니다! 문제설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1000000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 문제 분석 1. Solution.swift func solution(_ n:Int) -> Int { var isPrimeArray = Array(repeating: true, count: n + 1) var primeCount = 0 isPrimeArray[0] = false isPrimeArray[1] = false for i in..
제 문제 풀이는 최선의 풀이가 아닐 수 있습니다. 문제를 푸는 방법은 다양합니다! 문제설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한 조건 N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 문제 분석 1. map을 이용해 자연수값을 문자열로 convert 할 수 있다. 2. reduce()를 이용해 각 자릿수의 합을 구할 수 있다. Solution.swift import Foundation func solution(_ n:Int) -> Int { return String(n).map { Int(Strin..
제 문제 풀이는 최선의 풀이가 아닐 수 있습니다. 문제를 푸는 방법은 다양합니다! 문제설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] 문제 분석 1. 고차함수 map을 이용하여 시퀀스를 변환시킵니다. 2. reversed() 함수를 이용해 컨테이너의 순서를 뒤집습니다. Solution.swift func solution(_ n:Int64) -> [Int] { return String(n).map { Int(String($0))! }.reversed() } Progremmers Best S..
제 문제 풀이는 최선의 풀이가 아닐 수 있습니다. 문제를 푸는 방법은 다양합니다! 문제설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 n return 118372 873211 문제 분석 1. sorted() 함수를 이용하여 배열 및 문자열을 정렬할 수 있습니다. 2. 정렬된 문자열을 정수로 리턴해 문제를 풉니다. Solution.swift func solution(_ n:Int64) -> Int64 { // 입력된 정수를 문자열로 변환시켜 변수에 담아줍니다. var str = St..
제 문제 풀이는 최선의 풀이가 아닐 수 있습니다. 문제를 푸는 방법은 다양합니다! 문제설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 조건 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 문제 분석 1. 제곱근을 판별하기 위해 sqrt() 함수를 사용. 2. 함수를 사용하기 위해 Foundation을 import 해야 함. 3. 양의 정수를 가지는 값이라면 + 1을 하여 제곱하고, 소수점을 가지는 값이 나온다면 -1을 리턴함. Solution.swift ..
제 문제 풀이는 최선의 풀이가 아닐 수 있습니다. 문제를 푸는 방법은 다양합니다! 문제설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. 제한 조건 num은 int 범위의 정수입니다. 0은 짝수입니다. 입출력 예 num return 3 "Odd" 4 "Even" 문제 분석 1. 정말 쉬운문제 입니다. 삼항연산자를 이용하면 한줄에 끝낼 수 있습니다. 2. % 를 이용해 나머지를 구해서 0이 나오면 짝수, 아니라면 홀수 입니다. Solution.swift func solution(_ num:Int) -> String { return num % 2 == 0 ? "Even" : "Odd" }
제 문제 풀이는 최선의 풀이가 아닐 수 있습니다. 문제를 푸는 방법은 다양합니다! 문제설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 조건 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 n m return 3 12 [3,12] 2 5 [1,10] 문제 분석 1. 최대공약수와 최소공약수를 구하는 알고리즘을 알아야 함. 2. 최대공약수는 유클리드 호제법을 이용해 구했다. 3. 최소배수는 최대공약수를 이용해 구했다. Soluti..