본문 바로가기
TIL

[240316] 재귀함수

by 줍 2024. 3. 16.

1. 프로그래머스 lv1 콜라문제

같은 동작이 반복되는 구조여서 재귀함수로 구현해보았다. 재귀함수는 팩토리얼밖에 구현해본적 없어서 팩토리얼 함수를 떠올리면서 시도해봤는데 맞춰서 뿌듯햐

함수 탈출 조건을 적어서 리턴값이 무사히 나오도록 해주자!

func solution(_ a:Int, _ b:Int, _ n:Int) -> Int {
    if n < a { return 0 }
    return n / a * b + solution(a, b, (n / a * b) + (n % a))
}

 

 

2. (0...k), (k+1...n) 각 범위에 해당하는 코드를 작성하기 위해서 처음에 for문을 두 개 썼는데, 이렇게 하니 코드를 중복하여 쓰는 경우가 생긴다. 이런 경우 (0...n) 범위의 for문 안에서 if문으로 범위를 나누는 것이 더 깔끔하고 효율적이다.

'TIL' 카테고리의 다른 글

[240318] 함수 파라미터 주석/랜덤 숫자  (0) 2024.03.18
[240317] % 활용하기  (0) 2024.03.17
[240315] 배열비교  (0) 2024.03.15
[240314] 문자열 바꾸기/utf8  (1) 2024.03.14
[240313] 범위연산자  (0) 2024.03.13