스파르타 코딩 클럽 - iOS 스타터 6기/알고리즘 코드카타

29. 스파르타 코딩 클럽 - 5월 19일 코딩테스트 연습 (코드카타)

seongpil Heo 2025. 5. 19. 16:43

❓ 오늘의 문제

1. flag에 따라 다른 값 반환하기

  • 두 정수 ab와 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도 생략이 가능하다.)


 😼 GitHub