본문 바로가기

반응형

Mobile/Swift

(21)
[코딩테스트 입문] Swift - Day 9 1. 소인수분해 Q. 소인수분해란 어떤 수를 소수들의 곱으로 표현하는 것입니다. 예를 들어 12를 소인수 분해하면 2 * 2 * 3 으로 나타낼 수 있습니다. 따라서 12의 소인수는 2와 3입니다. 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. I. 문제 파악하기 - 소인수를 찾는다. - 오름차순으로 정렬한다. A. 문제풀기 func solution(_ n:Int) -> [Int] { // 결과 담을 Container var result = [Int]() // 소인수분해 할 수 var num = n // 나눌 값 var x = 2 while num != 1 { if num % x == 0 { num /= x result.a..
[코딩테스트 입문] Swift - Day 8 1. 주사위의 개수 Q. 머쓱이는 직육면체 모양의 상자를 하나 가지고 있는데 이 상자에 정육면체 모양의 주사위를 최대한 많이 채우고 싶습니다. 상자의 가로, 세로, 높이가 저장되어있는 배열 box와 주사위 모서리의 길이 정수 n이 매개변수로 주어졌을 때, 상자에 들어갈 수 있는 주사위의 최대 개수를 return 하도록 solution 함수를 완성해주세요. **제한사항 box의 길이는 3입니다. box[0] = 상자의 가로 길이 box[1] = 상자의 세로 길이 box[2] = 상자의 높이 길이 1 ≤ box의 원소 ≤ 100 1 ≤ n ≤ 50 n ≤ box의 원소 주사위는 상자와 평행하게 넣습니다. func solution(_ box:[Int], _ n:Int) -> Int { Int(box[0]/n)..
[코딩테스트 입문] Swift - Day 7 1. 2차원으로 만들기 Q. 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. func solution(_ numList:[Int], _ n:Int) -> [[Int]] { (0...(numList.count/n)-1).map { Array(numList[(n * $0)...((n - 1)+(n * $0))]) } } 2. 공던지기..
[코딩테스트 입문] Swift - Day 6 1. 직각삼각형 출력하기 Q. "*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요. import Foundation let n = readLine()!.components(separatedBy: [" "]).map { Int($0)! } (1...n[0]).forEach { print(String(repeating:"*", count:$0))} 2. 외계행성의 나이 Q. 우주여행을 하던 머쓱이는 엔진 고장으로 PROGRAMMERS-962 행성에 불시착하게 됐습니다. 입국심사에서 나이를 말해야 하는데, PROGRAMMERS-962 행성에서는 나이를 알파벳으로 말하고 있..
[코딩테스트 입문] Swift - Day 5 1. 피자 나눠 먹기 (2) Q. 머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. func solution(_ n:Int) -> Int { var remainder: Int = 1 while 6 * remainder % n != 0 { remainder += 1 } return remainder } 2. 피자 나눠 먹기 (3) Q. 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주..
[코딩테스트 입문] Swift - Day 4 Q. 머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요. func solution(_ age:Int) -> Int { 2022 - age + 1 } Q. 각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 예각 : 0 < angle < 90 직각 : angle = 90 둔각 : 90 < angle < 180 평각 : angle = 180 func soluti..
[코딩테스트 입문] Swift - Day 3 Q. 정수 num1, num2가 매개변수로 주어질 때, num1를 num2로 나눈 나머지를 return 하도록 solution 함수를 완성해주세요. func solution(_ num1:Int, _ num2:Int) -> Int { num1 % num2 } Q. 중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요. array의 길이는 홀수입니다. 0 Int in return array.filter {$0 == number}.count } // countOfMaxValue는 동일한 개수가 담긴..
[코딩테스트 입문] Swift - Day 2 Q. 정수 num1과 num2가 매개변수로 주어질 때, num1을 num2로 나눈 값에 1,000을 곱한 후 정수 부분을 return 하도록 soltuion 함수를 완성해주세요. func solution(_ num1:Int, _ num2:Int) -> Int { num1 * 1000 / num2 } Q. 정수 num1과 num2가 매개변수로 주어집니다. 두 수가 같으면 1 다르면 -1을 retrun하도록 solution 함수를 완성해주세요. func solution(_ num1:Int, _ num2:Int) -> Int { num1 == num2 ? 1 : -1 } Q. 첫 번째 분수의 분자와 분모를 뜻하는 denum1, num1, 두 번째 분수의 분자와 분모를 뜻하는 denum2, num2가 매개변수로..
[코딩테스트 입문] Swift - Day 1 // 두 수의 곱을 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { num1 * num2 }​ // 두 수의 합을 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { num1 + num2 } // 두 수의 차를 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) -> Int { num1 - num2 } // 두 수의 몫을 구하는 코드를 완성하시오. import Foundation func solution(_ num1:Int, _ num2:Int) ..
[Swift - 문법] 프로퍼티(Property) - 3. 타입 프로퍼티 1. 타입 프로퍼티 타입 프로퍼티는 각각의 인스턴스가 아닌 타입 자체에 속하는 프로퍼티입니다. 아래에서 살펴보겠지만 인스턴스를 정의한 후에도 타입 프로퍼티에 직접적으로 영향을 주고, 같은 클래스로 정의된 인스턴스들에도 일괄적으로 영향을 줍니다. 모든 인스턴스에서 공용으로 접근하고 값을 변경할 수 있는 변수 등을 정의할 때 유용합니다. 타입 프로퍼티의 종류 (1) 저장 타입 프로퍼티 - 변수와 상수로 선언 가능 - 초기값 설정이 반드시 필요 (2) 연산 타입 프로퍼티 - 변수로만 선언 가능 2. 예시 코드 class User { // 저장 타입 프로퍼티 static var age: Int = 0 // 저장 인스턴스 프로퍼티 var instanceAge: Int = 0 { didSet { Self.age =..

반응형