본문 바로가기
프로그래머스

N으로 표현 C++

by paysmile 2022. 1. 23.

https://programmers.co.kr/learn/courses/30/lessons/42895

 

코딩테스트 연습 - N으로 표현

 

programmers.co.kr

#include <string>
#include <unordered_set>
#include <vector>

using namespace std;

int solution(int N, int number) {
    int answer = 0;
    vector<unordered_set<int>> way(9);
    
	int sum = 0;
	for (int i = 1; i <= 8; i++) {
		sum = 10 * sum + N;
		way[i].insert(sum);
	}

	for (int k = 2; k <= 8; k++) {
		for (int i = 1, j = k - i; i < k; i++, j--) {
			for (int a : way[i]) {
				for (int b : way[j]) {
					int value = a + b;
					way[k].insert(value);

					value = a - b;
					way[k].insert(value);

					if (b!= 0) {
						value = a / b;
						way[k].insert(value);
					}

					value = a * b;
					way[k].insert(value);					
				}
			}
		}
	}
    
    for(int i=1; i<=8; i++){
        if(way[i].find(number)!= way[i].end())  return i;
    }
    
    return -1;
}

'프로그래머스' 카테고리의 다른 글

경주로 건설 C++  (0) 2022.01.29
네트워크 C++  (0) 2022.01.23
거리두기 확인하기 C++  (0) 2021.12.03
징검다리 건너기 C++  (0) 2021.10.06
도둑질 C++  (0) 2021.10.06