제주 탈출 일지

[C++] 프로그래머스 레벨 1 - 크레인 인형뽑기 본문

코딩 테스트

[C++] 프로그래머스 레벨 1 - 크레인 인형뽑기

귀건 2020. 10. 23. 12:38
728x90
반응형

programmers.co.kr/learn/courses/30/lessons/64061

 

코딩테스트 연습 - 크레인 인형뽑기 게임

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4

programmers.co.kr

 

초기화초기화초기화초기화. 떄문에 벡터의 마지막 값을 접근하다가 자꾸 segmentation fault 오류가 발생했다. 제발 초기화하자. 만들때부터.

 

#include <vector>
#include <iostream>
using namespace std;

int solution(vector<vector<int>> board, vector<int> moves) {
    
    vector<int> basket(900); //바구니
    int answer = 0; //인형이 터뜨려진 갯수
    
    // 첫번째 뽑는 단계 구현.
    
    
    for(int j = 0; j < moves.size(); j++ )// 어느 열을 뽑을 것인가?
    {
        for(int i = 0; i < board.size();i++) // 줄을 선택.
        {
            if(board[i][moves[j]-1] != 0)
            {  
                int tmp = board[i][moves[j]-1];
                board[i][moves[j]-1] = 0;

				if(basket.back() == tmp)
				{
					basket.pop_back();
					answer++;
				}
				else
				{
					basket.push_back(tmp);
				}
					
				
				break;
            }
        }
    
    }
    
    return answer*2;
    
}
/*

[[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]]	[1,5,3,5,1,2,1,4]	4
*/
int main()
{
	vector<vector<int> > v1 (5);
	
	int arr[8] = {1,5,3,5,1,2,1,4};
	
	vector<int> v7(8);
	for(int i = 0; i < 8; i++)
	{
		v7[i] = arr[i];	
	}
	
	vector<int> v2 (5);
	vector<int> v3 (5);
	vector<int> v4 (5);
	vector<int> v5 (5);
	vector<int> v6 (5);
	
	int arr1[5] = {0,0,0,0,0};
	int arr2[5] = {0,0,1,0,3};
	int arr3[5] = {0,2,5,0,1};
	int arr4[5] = {4,2,4,4,2};
	int arr5[5] = {3,5,1,3,1};	

	for(int i = 0; i < 5; i++)
	{
		v2[i] = arr1[i];	
	}

	for(int i = 0; i < 5; i++)
	{
		v3[i] = arr2[i];	
	}

	for(int i = 0; i < 5; i++)
	{
		v4[i] = arr3[i];	
	}

	for(int i = 0; i < 5; i++)
	{
		v5[i] = arr4[i];	
	}

	for(int i = 0; i < 5; i++)
	{
		v6[i] = arr5[i];	
	}

	v1.at(0) = v2;
	v1.at(1) = v3;
	v1.at(2) = v4;
	v1.at(3) = v5;
	v1.at(4) = v6;	
	
	cout << solution(v1, v7);
	

	return 0;
}	
728x90
반응형
Comments