2019クレーン抜去型
3850 ワード
何番ですか。
ポリシー
1番を見ると緑の友達の上に空気の音がします
2番を見ると上が
あります.
しかし、取締役会と比べると.
0番インデックスのパッケージが入ってきて、
1番インデックスのパッケージが入ってきて、
2番インデックスのパッケージが入ってきて、
3番インデックスのパッケージが入ってきて、
4番インデックスのパッケージが入ってきて、
順番に入る.
このように入ってくると、この部分をもっと考えなければなりません.
解決策
キューを作成し、最初に入ったインデックスを挿入します.
後で入れるときれいなコンテナが作れると思いますが、
だからキューを並べて行います.
質問です。
:frontを抜く前に例外処理を行います.
問題の中でこのような文を見た.この記述コードを参照してください.
ソースコード #include <string>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
//같은 모양의 인형이 쌓이면 두 인형은 바구니에서 사라진다.
//인형이 없는 번호를 집어도 아무런 일이 안일어난다.
//바구니는 모든 인형 들어갈만큼 크다.
// 0번인덱스 0 0 0 0 0
// 1번인덱스 0 0 1 0 3
// 2번인덱스 0 2 5 0 1
// 3번인덱스 4 2 4 4 2
// 4번인덱스 3 5 1 3 1
//move : 1,5,3,5,1,2,1,4
//move의 마지막까지 진행했을때 사라진 인형의 갯수는?
int solution(vector<vector<int>> board, vector<int> moves) {
int answer = 0;
int size = board.size();
queue<int>q[size];
for(int i = 0; i < board.size(); i++)
{
for(int j = 0; j < board[0].size(); j++)
{
if(board[i][j] != 0)
q[j].push(board[i][j]);
}
}
// 0번인덱스 0 0 0 0 0
// 1번인덱스 0 0 1 0 3
// 2번인덱스 0 2 5 0 1
// 3번인덱스 4 2 4 4 2
// 4번인덱스 3 5 1 3 1
stack<int>st;
//move의 마지막까지 진행했을때 사라진 인형의 갯수는?
for(int i = 0; i < moves.size(); i++)
{
//동일한 인형 두개가 맞닿으면 같이 사라지고 이때 cnt+= 2;
int num = moves[i] - 1;
if(q[num].empty())
continue;
int data = q[num].front();
q[num].pop();
if(!st.empty())
{
if(st.top() == data)
{
answer += 2;
st.pop();
}
else
{
st.push(data);
}
}
else
{
st.push(data);
}
}
return answer;
}
完了!
Reference
この問題について(2019クレーン抜去型), 我々は、より多くの情報をここで見つけました
https://velog.io/@kwt0124/2019-크레인-인형뽑기
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <string>
#include <vector>
#include <queue>
#include <stack>
using namespace std;
//같은 모양의 인형이 쌓이면 두 인형은 바구니에서 사라진다.
//인형이 없는 번호를 집어도 아무런 일이 안일어난다.
//바구니는 모든 인형 들어갈만큼 크다.
// 0번인덱스 0 0 0 0 0
// 1번인덱스 0 0 1 0 3
// 2번인덱스 0 2 5 0 1
// 3번인덱스 4 2 4 4 2
// 4번인덱스 3 5 1 3 1
//move : 1,5,3,5,1,2,1,4
//move의 마지막까지 진행했을때 사라진 인형의 갯수는?
int solution(vector<vector<int>> board, vector<int> moves) {
int answer = 0;
int size = board.size();
queue<int>q[size];
for(int i = 0; i < board.size(); i++)
{
for(int j = 0; j < board[0].size(); j++)
{
if(board[i][j] != 0)
q[j].push(board[i][j]);
}
}
// 0번인덱스 0 0 0 0 0
// 1번인덱스 0 0 1 0 3
// 2번인덱스 0 2 5 0 1
// 3번인덱스 4 2 4 4 2
// 4번인덱스 3 5 1 3 1
stack<int>st;
//move의 마지막까지 진행했을때 사라진 인형의 갯수는?
for(int i = 0; i < moves.size(); i++)
{
//동일한 인형 두개가 맞닿으면 같이 사라지고 이때 cnt+= 2;
int num = moves[i] - 1;
if(q[num].empty())
continue;
int data = q[num].front();
q[num].pop();
if(!st.empty())
{
if(st.top() == data)
{
answer += 2;
st.pop();
}
else
{
st.push(data);
}
}
else
{
st.push(data);
}
}
return answer;
}
Reference
この問題について(2019クレーン抜去型), 我々は、より多くの情報をここで見つけました https://velog.io/@kwt0124/2019-크레인-인형뽑기テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol