목록전체 글 (473)
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..
알고리즘 문제에서 최대 공약수를 구하는 문제들이 나오는데요 간단하게 최대 공약수를 구할 수 있는 유클리드 호제법 이용해 쉽게 구할 수 있습니다. 유클리드 호제법이란? 큰 수에서 작은 수를 나누어 나머지를 구하고 나눈 몫과 나머지를 또 나누어 나머지가 0이 될 때까지 반복하는 원리입니다. 예를 들어 34와 26이라는 숫자의 최대 공약수를 구해보겠습니다. 34 / 26 = 1 (나머지 8) 26 / 8 = 3 (나머지 2) 8 / 2 = 4 (나머지 0) 나머지가 0이 됐고 마지막 나눈 값은 2입니다. 마지막 나눈 값이 최대공약수가 되기 때문에 (gcd) = 4 가 됩니다. gcd는 최대공약수의 약자로 최대공약수(Greatest Common Divisor, GCD) 입니다. 코드로 작성하게 되면 func g..
문제 설명 함수 solution은 정수 x와 자연수 n을 입력받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4,-8] 문제 분석 키워드 : 배수 1. 정수 x, 자연수 n을 입력 받는 solution 함수 정의 2. 첫입력 값 x는 기준값, 배수가 되는 값 3. 두번째 입력 값 n는 리스트 반복 횟수 Solution.swift func solution(_ x:Int, _ n:Int) ..
짧게라도 틈틈이 생각을 정리하려 한다 일단 현재 직장에서는 나를 효과적으로 성장시키기 힘들다 효과적으로라는 말도 어거지로 넣어준 거지 그냥 성장시키기 힘들다에 가깝다 나를 끌어줄 수 있는 사람이 없다 처음에는 혼자서 성장하는 건 개발자의 숙명이야!라고 생각했지만 생각보다 나는 개발도 못하고 성장도 못했다 그리고 점점 업무에 대한 스트레스는 높아져갔고 목표는 높지만 점점 구렁텅이로 들어가는 느낌이 들었다 모든 책임은 나에게 있다 하지만 성장을 해야 하는 것도 나고 결정하는 것도 나다 내가 판단했을 때는 현재 실력으로 스스로 성장하는 건 무리가 있다는 판단이다 당장 퇴사한다는 결정은 어렵다 내 욕심이기도 하지만 다시 아무것도 아닌 상황에 놓이는 게 싫다 그 전보다 iOS 개발에 더 간절해졌지만 실력이 못 따..