Make Unreal REAL.
article thumbnail
Level 0. 배열 만들기 2

 

 

전에 같이 알고리즘 스터디를 하던 형이 재귀로 조합을 만들어 냈던 게 생각나서 비슷한 방법을 써봤다.

 

현재 수에 0과 5를 하나씩 붙여나가는 방법이다.

 

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void rSolution(int l, int r, vector<int>& vec, int val)
{
    if (l <= val && val <= r)
        vec.emplace_back(val);
    else if (r < val)
        return;

    int next_val = val * 10;

    rSolution(l, r, vec, next_val);
    rSolution(l, r, vec, next_val + 5);
}

vector<int> solution(int l, int r)
{
    vector<int> answer;

    rSolution(l, r, answer, 5);
    sort(answer.begin(), answer.end());

    return answer.empty() ? vector<int>{-1} : answer;
}

'자료구조 & 알고리즘 > 프로그래머스' 카테고리의 다른 글

Level 0. 두 수의 합  (1) 2023.05.14
Level 0. 배열 만들기 4  (0) 2023.05.13
Level 2. [1차] 뉴스 클러스터링  (0) 2023.05.11
Level 0. 커피 심부름  (0) 2023.05.10
Level 0. 코드 처리하기  (0) 2023.05.09
profile

Make Unreal REAL.

@diesuki4

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!

검색 태그