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

외벽 점검 C++

by paysmile 2022. 2. 21.

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

 

코딩테스트 연습 - 외벽 점검

레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하

programmers.co.kr

#include <string>
#include <vector>
#include <algorithm>

using namespace std;

int solution(int n, vector<int> weak, vector<int> dist) {
	int answer = 2e9;
	sort(dist.begin(), dist.end());

	for (int k = 0; k < weak.size(); k++) {
		int tmp = weak[0];
		for (int i = 0; i < weak.size() - 1; i++) {
			weak[i] = weak[i + 1];
		}
		weak[weak.size() - 1] = tmp + n;

		do {
			int index = 0;
			int cur = 0;
			for (int ii = 0; ii < weak.size() && index < dist.size(); index++) {
				cur = dist[index] + weak[ii];
				while (ii <weak.size() && cur >= weak[ii]) {
					ii++;
				}
			}
			if(cur >= weak[weak.size()-1])
				answer = min(answer, index);
		} while (next_permutation(dist.begin(), dist.end()));
	}

	if (answer == 2e9) answer = -1;
	return answer;
}

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

괄호 회전하기 C++  (0) 2022.03.02
2개 이하로 다른 비트 C++  (0) 2022.03.02
신고 결과 받기 C++  (0) 2022.02.19
k진수에서 소수 개수 구하기 C++  (0) 2022.02.19
양궁대회 C++  (0) 2022.02.19