반응형
1. n의 배수
정수 num과 n이 매개 변수로 주어질 때, num이 n의 배수이면 1을 return n의 배수가 아니라면 0을 return하도록 solution 함수를 완성해주세요.
제한사항
- 2 ≤ num ≤ 100
- 2 ≤ n ≤ 9
입출력 예
num | n | result |
98 | 2 | 1 |
34 | 3 | 0 |
입출력 예 설명
입출력 예 #1
- 98은 2의 배수이므로 1을 return합니다.
입출력 예 #2
- 32는 3의 배수가 아니므로 0을 return합니다.
제출 답안
import Foundation
func solution(_ num:Int, _ n:Int) -> Int {
// num이 n으로 나누어 떨어지면 1, 아니면 0
return num % n == 0 ? 1 : 0
}
2. 공배수
정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요.
제한사항
- 10 ≤ number ≤ 100
- 2 ≤ n, m < 10
입출력 예
num | n | m | result |
60 | 2 | 3 | 1 |
55 | 10 | 5 | 0 |
입출력 예 설명
입출력 예 #1
- 60은 2의 배수이면서 3의 배수이기 때문에 1을 return합니다.
입출력 예 #2
- 55는 5의 배수이지만 10의 배수가 아니기 때문에 0을 return합니다.
제출 답안
import Foundation
func solution(_ number:Int, _ n:Int, _ m:Int) -> Int {
// number가 n과 m으로 나누어 떨어진다면 1 반환, 아니면 0 반환
return number % n == 0 && number % m == 0 ? 1 : 0
}
3. 홀짝에 따라 다른 값 반환하기
양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.
제한사항
- 1 ≤ n ≤ 100
입출력 예
n | result |
7 | 16 |
10 | 220 |
입출력 예 설명
입출력 예 #1
- 예제 1번의 n은 7로 홀수입니다. 7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.
입출력 예 #2
- 예제 2번의 n은 10으로 짝수입니다. 10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.
제출 답안
import Foundation
func solution(_ n: Int) -> Int {
if n % 2 != 0 {
// n이 홀수일 경우
// 1. 1부터 n까지의 범위를 생성
// 2. 홀수만 필터링
// 3. 필터링된 홀수들의 합을 계산하여 반환
return (1...n).filter { $0 % 2 != 0 }.reduce(0, +)
} else {
// n이 짝수일 경우
// 1. 1부터 n까지의 범위를 생성
// 2. 짝수만 필터링
// 3. 필터링된 짝수들의 각 숫자를 제곱
// 4. 제곱된 값들의 합을 계산하여 반환
return (1...n).filter { $0 % 2 == 0 }.map { $0 * $0 }.reduce(0, +)
}
}
https://developer.apple.com/documentation/swift/string/filter(_:)
https://developer.apple.com/documentation/Swift/Array/reduce(_:_:)
https://developer.apple.com/documentation/swift/sequence/map(_:)
4. 조건 문자열
문자열에 따라 다음과 같이 두 수의 크기를 비교하려고 합니다.
- 두 수가 n과 m이라면
- ">", "=" : n >= m
- "<", "=" : n <= m
- ">", "!" : n > m
- "<", "!" : n < m
두 문자열 ineq와 eq가 주어집니다. ineq는 "<"와 ">"중 하나고, eq는 "="와 "!"중 하나입니다. 그리고 두 정수 n과 m이 주어질 때, n과 m이 ineq와 eq의 조건에 맞으면 1을 아니면 0을 return하도록 solution 함수를 완성해주세요.
제한 사항
- 1 ≤ n, m ≤ 100
입출력 예
ineq | eq | n | m | result |
"<" | "=" | 20 | 50 | 1 |
">" | "!" | 41 | 78 | 0 |
입출력 예 설명
입출력 예 #1
- 20 <= 50은 참이기 때문에 1을 return합니다.
입출력 예 #2
- 41 > 78은 거짓이기 때문에 0을 return합니다.
제출 답안
import Foundation
func solution(_ ineq:String, _ eq:String, _ n:Int, _ m:Int) -> Int {
if ineq == ">" && eq == "=" {
// n이 m보다 크거나 같을 경우
return n >= m ? 1 : 0
} else if ineq == ">" && eq == "!" {
// n이 m보다 클 경우
return n > m ? 1 : 0
} else if ineq == "<" && eq == "=" {
// n이 m보다 작거나 같을 경우
return n <= m ? 1 : 0
} else if ineq == "<" && eq == "!" {
// n이 m보다 작을 경우
return n < m ? 1 : 0
}
return 0
}
5. flag에 따라 다른 값 반환하기
두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
제한사항
- -1,000 ≤ a, b ≤ 1,000
입출력 예
a | b | flag | result |
-4 | 7 | true | 3 |
-4 | 7 | false | -11 |
입출력 예
입출력 예 #1
- 예제 1번에서 flag가 true이므로 a + b = (-4) + 7 = 3을 return 합니다.
입출력 예 #2
- 예제 2번에서 flag가 false이므로 a - b = (-4) - 7 = -11을 return 합니다.
제출 답안
import Foundation
func solution(_ a:Int, _ b:Int, _ flag:Bool) -> Int {
// flag가 true 면 a+b를, false면 a-b를 반환
return flag == true ? a+b : a-b
}
반응형
'프로그래머스 기초문제' 카테고리의 다른 글
[프로그래머스 기초문제] Day 5 (0) | 2025.01.09 |
---|---|
[프로그래머스 기초문제] Day 3 (0) | 2025.01.06 |
[프로그래머스 기초문제] Day 2 (1) | 2025.01.03 |
[프로그래머스 기초문제] Day 1 (0) | 2025.01.02 |