์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- ๊ฐ๋ฐ์์ค๋น #์ปดํจํฐ๊ณตํ๊ณผ
- 2579
- ๋์ ํ ๋น๋ฒ
- C++
- ๋ฐฑ์ค
- ๋ฏธ๊ตญ์ฌํ #๋ฏธ๊ตญ์ ๊ตญ์ฌํ
- HTML์ ๋ฌธ
- html #css์ ๋ฌธ #visual studio
- GitHub
- Today
- Total
๐๊ฐ๋ฐ๊ณผ ์ผ์ (โง∇โฆ)๏พ
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ๋ ํ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ (queue - L2) ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ๋ ํ ํฉ ๊ฐ๊ฒ ๋ง๋ค๊ธฐ (queue - L2)
๊ฐ์์ 2023. 11. 21. 15:15
๐ ๋ฌธ์
https://school.programmers.co.kr/learn/courses/30/lessons/118667
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๋ฌธ์ ๋ฅผ ์ ๊ทผํ๊ณ ์ด๋ค ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๋์ง๋ ๋๋ฌด ๋ช ํํด์ ๊ตฌํ๊น์ง๋ ๊ธ๋ฐฉ ํ๋ค.
์๋ฃ๊ตฌ์กฐ๋ ํ ์์์ ๊ฐ์ ๋ฒ์๊ฐ ํฌ๊ธฐ ๋๋ฌธ์ long long ์ผ๋ก ์ ์ธํ๋ ๊ฒ๋ง ์กฐ์ฌํ๋ฉด ๋๋ค.
ํ์ง๋ง ๋ฌธ์ ๋...
๋๋์ฒด ์ฒซ๋ฒ์งธ ํ ์คํธ1๊ฐ ์ ํต๊ณผ๋์ง ์๋๊ฒ์ผ๊น.... ๊ณ์ ๊ณ ๋ฏผ์ ํด๋ณด์๋ค...
๊ตฌ๊ธ๋ง ํด๋ณด๊ณ ๋ค๋ฅธ ๋ถ๋ค ์ฝ๋๋ฅผ ๋ฆฌ๋ทฐํด ๋ณธ ๊ฒฐ๊ณผ ์ด์ ๋ ๋ฐ๋ณต๋ฌธ์ด ์์ ์ ๊ณ์ํ๋ ๊ธฐ์ค์
ํ์ ํฌ๊ธฐ * 2 ์ด์์ ๋๋ฉด ์๋ ํ๋ก ๋์์๋ค๊ณ ํ๋จํ๋ค.
ํ์ง๋ง ํ์ ํฌ๊ธฐ * 4 ๋งํผ ํ์์ ํด์ผํจ์ ๊นจ๋ฌ์๋ค.
์๋ํ๋ฉด ํ๊ฐ ํํ์ฒ๋ผ ์ฃผ๊ณ ๋ฐ๊ณ ๋ฅผ ๊ณ์ ํ๊ฒ ๋๋ค๋ฉด ํ๊ฐ ์๋ ์ํ๋ก ๋์์ค๊ธฐ ์ํด์๋ ํ์ ํฌ๊ธฐ * 2 * 2 ๋งํผ ๋ฐ๋ณตํด์ผํ๋ค๋ ์ ์ด๋ค...!
์์ง๋ ์ฝ๋ฉํ ์คํธ๋ ๋ชจ๋ฅด๊ฒ ๊ณ ๋๋ ๊ณต๋ถ๋ฅผ ๋ง์ด ํด์ผ๊ฒ ๊ตฌ๋ ๋๊ผ๋ค...!
๐ป ์ ๋ต ์ฝ๋
#include <string>
#include <vector>
#include <queue>
#include <iostream>
using namespace std;
int solution(vector<int> q1, vector<int> q2) {
//ํ .... ์ฃ์ง ์ผ์ด์ค์์ ๋ฌธ์ ๊ฐ ๋๊ณ ์๋๋ฐ,,, ๋ญ์ง?
//๋ญ๊น~~์
long long sum1 = 0, sum2 = 0;
int size = q1.size();
queue<int> queue1, queue2;
for(int i = 0; i < size; i++){ //ํฉ์ ๊ตฌํฉ๋๋ค.
sum1 += q1[i]; sum2 += q2[i];
queue1.push(q1[i]); queue2.push(q2[i]);
}
int answer = 0;
if((sum1 + sum2) % 2 == 1 ) return -1;
if((sum1 != sum2) && (size == 1)) return -1;
while(!(sum1 == sum2)){
answer++;
if(answer >= size * 4 ){
answer = -1;
break;
}
if(sum1 < sum2){
int temp = queue2.front(); //queue2์์ ๋งจ ์ ๊ฐ pop ํ๊ธฐ
queue2.pop();
sum2 -= temp;
queue1.push(temp); //queue1์ ํด๋น ๊ฐ ์ถ๊ฐํ๊ธฐ
sum1 += temp;
}
else{
int temp = queue1.front();
queue1.pop();
sum1 -= temp;
queue2.push(temp);
sum2 += temp;
}
}
return answer;
}
'CS > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ๋คํธ์ํฌ (DFS,BFS - L3) (0) | 2023.11.17 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/C++] ํ๋ก์ธ์ค (์คํ,ํ - L2) (0) | 2023.11.17 |
[๋ฐฑ์ค c++] 1937 ์์ฌ์์ด ํ๋ค (๊ณจ3) (0) | 2023.11.15 |
[๋ฐฑ์ค c++] 1030 ํ๋ ํํ๋ฉด (๊ณจ3) (0) | 2023.10.02 |
[๋ฐฑ์ค c++] 1149 RGB๊ฑฐ๋ฆฌ (์ค1) (0) | 2023.09.25 |