관리 메뉴

기억을 위한 기록들

[프로그래머스 lv1: 체육복] - C++ 본문

Coding Test - cpp/Greedy

[프로그래머스 lv1: 체육복] - C++

에드윈H 2021. 2. 2. 22:19

programmers.co.kr/learn/courses/30/lessons/42862#

 

코딩테스트 연습 - 체육복

점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번

programmers.co.kr

#include <string>
#include <vector>

using namespace std;

int solution(int n, vector<int> lost, vector<int> reserve) {

	//n 전체수 
	// lost 도난당한 번호 
	//  reserve 여별 보휴
	int answer = 0;

	answer = n - lost.size(); //안잃어버린 수


	//도난 당했으나 여유복도 있는 애들
	for (int i = 0; i < lost.size(); i++)
	{
		for (int j = 0; j < reserve.size(); j++)
		{
			if (reserve[j] == lost[i])
			{
				reserve[j] = -10; //쓰레기값 넣어주기
				lost[i] = -10; //쓰레기값 넣어주기
				answer++;
				break;
			}
		}
	}

	//앞뒤 사이즈 확인
	for (int i = 0; i < lost.size(); i++)
	{
		for (int j = 0; j < reserve.size(); j++)
		{
			if (reserve[j] == lost[i] - 1 || reserve[j] == lost[i] + 1)
			{
				answer++;
				reserve[j] = -10; //쓰레기값 넣어주기
				break;
			}	
		}
	}
	return answer;
}

'Coding Test - cpp > Greedy' 카테고리의 다른 글

[백준 1439: 뒤집기] - C++  (0) 2021.02.04
[백준 4796: 캠핑] - C++  (0) 2021.02.03
[백준 2847: 게임을 만든 동준이] - C++  (0) 2021.02.02
[백준 14916: 거스름돈] - C++  (0) 2021.01.29
[백준 2217: 로프] - C++  (0) 2021.01.29