시나브로

[2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임 본문

알고리즘/프로그래머스

[2019 카카오 개발자 겨울 인턴십] 크레인 인형뽑기 게임

혬혬 2020. 5. 8. 11:28
728x90

board의 내용을 가로로 변환하여 vector pop_back()을 이용하여 구현하였다. 

#include <string>
#include <vector>

using namespace std;

int solution(vector<vector<int>> board, vector<int> moves) {
int answer = 0;
	vector<int> list;
	vector<vector<int>> a;
	for (int i = 0; i <= board.size(); i++) {
		vector<int> ele;
		a.push_back(ele);
	} //vector로 2차원 배열 만들기
	for (int i = board.size()-1; i >=0; i--) {
		for (int j = 1; j <= board[i].size(); j++) {
			if (board[i][j-1] != 0) {
				a[j].push_back(board[i][j - 1]);
			}
		}
	} //matrix를 90도 돌리기
	for (int i = 0; i < moves.size(); i++) {
		if (a[moves[i]].size() != 0) {
			if (list.size() != 0) {
				if (a[moves[i]].back() == list.back()) {
					list.pop_back();
					answer += 2;
				}
				else {
					list.push_back(a[moves[i]].back());
				}
			}
			else
				list.push_back(a[moves[i]].back());
			a[moves[i]].pop_back();
		}
	} // 뽑기
	return answer;
}

 

https://programmers.co.kr/learn/courses/30/lessons/64061?language=cpp

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

728x90
Comments