반응형
1. 옷가게 할인 받기
머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해줍니다.
구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 10 ≤ price ≤ 1,000,000
- price는 10원 단위로(1의 자리가 0) 주어집니다.
- 소수점 이하를 버린 정수를 return합니다.
입출력 예
price | result |
150,000 | 142,500 |
580,000 | 464,000 |
입출력 예 설명
입출력 예 #1
- 150,000원에서 5%를 할인한 142,500원을 return 합니다.
입출력 예 #2
- 580,000원에서 20%를 할인한 464,000원을 return 합니다.
제출 답안
import Foundation
func solution(_ price:Int) -> Int {
// 할인율을 저장할 변수
let discountP: Double
// 구매 금액에 따른 할인율 설정
if price >= 500000 {
discountP = 0.2 // 50만 원 이상일 경우 20% 할인
} else if price >= 300000 {
discountP = 0.1 // 30만 원 이상일 경우 10% 할인
} else if price >= 100000 {
discountP = 0.05 // 10만 원 이상일 경우 5% 할인
} else {
discountP = 0.0 // 10만 원 미만일 경우 할인 없음
}
// 최종 지불 금액 계산
// 가격(price)에 (1 - 할인율)를 곱하여 실제 지불 금액 계산
let realPrice = Double(price) * (1 - discountP)
// 결과를 Int로 변환하여 반환
return Int(realPrice)
}
2. 아이스 아메리카노
머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
- 0 < money ≤ 1,000,000
입출력 예
money | result |
5,500 | [1, 0] |
15,000 | [2, 4000] |
입출력 예 설명
입출력 예 #1
- 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다.
입출력 예 #2
- 15,000원은 아이스 아메리카노 두 잔을 살 수 있고 잔돈은 4,000원입니다.
제출 답안
import Foundation
func solution(_ money:Int) -> [Int] {
var result: [Int] = []
result.append(money / 5500)
result.append(money % 5500)
return result
}
3. 나이 출력
머쓱이는 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 2022년 기준 선생님의 나이 age가 주어질 때, 선생님의 출생 연도를 return 하는 solution 함수를 완성해주세요
제한사항
- 0 < age ≤ 120
- 나이는 태어난 연도에 1살이며 매년 1월 1일마다 1살씩 증가합니다.
입출력 예
age | result |
40 | 1983 |
23 | 2000 |
입출력 예 설명
입출력 예 #1
- 2022년 기준 40살이므로 1983년생입니다.
입출력 예 #2
- 2022년 기준 23살이므로 2000년생입니다.
제출 답안
import Foundation
func solution(_ age:Int) -> Int {
return 2022 - age + 1
}
4. 배열 뒤집기
정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return하도록 solution 함수를 완성해주세요.
제한사항
- 1 ≤ num_list의 길이 ≤ 1,000
- 0 ≤ num_list의 원소 ≤ 1,000
입출력 예
num_list | result |
[1, 2, 3, 4, 5] | [5, 4, 3, 2, 1] |
[1, 1, 1, 1, 1, 2] | [2, 1, 1, 1, 1, 1] |
[1, 0, 1, 1, 1, 3, 5] | [5, 3, 1, 1, 1, 0, 1] |
입출력 예 설명
입출력 예 #1
- num_list가 [1, 2, 3, 4, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 4, 3, 2, 1]을 return합니다.
입출력 예 #2
- num_list가 [1, 1, 1, 1, 1, 2]이므로 순서를 거꾸로 뒤집은 배열 [2, 1, 1, 1, 1, 1]을 return합니다.
입출력 예 #3
- num_list가 [1, 0, 1, 1, 1, 3, 5]이므로 순서를 거꾸로 뒤집은 배열 [5, 3, 1, 1, 1, 0, 1]을 return합니다.
제출 답안
import Foundation
func solution(_ num_list:[Int]) -> [Int] {
return num_list.reversed()
}
https://developer.apple.com/documentation/swift/array/reversed()
반응형
'프로그래머스 입문문제' 카테고리의 다른 글
[프로그래머스 입문문제] Day 8 배열, 구현, 수학 (0) | 2025.01.21 |
---|---|
[프로그래머스 입문문제] Day 6 문자열, 반복문, 출력, 배열, 조건문 (0) | 2025.01.16 |
[프로그래머스 입문문제] Day 3 사칙연산, 배열, 수학 (0) | 2025.01.13 |
[프로그래머스 입문문제] Day 2 사칙연산, 조건문, 배열 (0) | 2025.01.10 |
[프로그래머스 입문문제] Day 1 사칙연산 (0) | 2025.01.09 |