스파르타 코딩 클럽 - iOS 스타터 6기/알고리즘 코드카타
29. 스파르타 코딩 클럽 - 5월 19일 코딩테스트 연습 (코드카타)
seongpil Heo
2025. 5. 19. 16:43
❓ 오늘의 문제
1. flag에 따라 다른 값 반환하기
- 두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
나의 정답 코드
import Foundation
func solution(_ a: Int, _ b: Int, _ flag: Bool) -> Int {
return flag ? a + b : a - b
}
✓ TIL
[ 처음 작성했던 코드 ]
import Foundation
func solution(_ a: Int, _ b: Int, _ flag: Bool) -> Int {
if flag {
return a + b
} else {
return a - b
}
}
처음에는 if문으로 true, false 에 따라 a + b 또는 a - b 를 return 하는 코드를 작성했다.
문제를 해결하고 나서 생각해보니 조금 더 코드를 간단하게 줄일 수 있을 거 같아서
짧게 리펙토링을 해보았다.
[ 짧게 리펙토링 한 코드 ]
import Foundation
func solution(_ a: Int, _ b: Int, _ flag: Bool) -> Int {
return flag ? a + b : a - b
}
삼항 연산자를 사용해서 코드를 보다 짧게 리펙토링 해보았다.
flag의 bool 값을 가지고 참일때는 a + b 를 return
거짓일때는 a - b 를 return 하도록 수정하였다.
(함수 안에 코드가 한줄이기 때문에 사실 return도 생략이 가능하다.)