테스트 케이스 추가
Parameters | Return | |
queue1(int[ ]) | queue2(int[ ]) | |
[2, 3, 2] | [1, 1, 1] | 1 |
[1, 1, 1, 1, 1, 1, 1, 1, 1, 10] | [1, 1, 1, 1, 1, 1, 1, 1, 1, 1] | -1 |
두 큐 합 같게 만들기 문제
내 코드
using System;
using System.Collections.Generic;
using System.Linq;
public class Solution {
public int solution(int[] queue1, int[] queue2) {
int answer = 0;
Queue<int> q1 = new Queue<int>();
Queue<int> q2 = new Queue<int>();
long sum1 = 0;
long sum2 = 0;
foreach(int n in queue1)
{
q1.Enqueue(n);
sum1 += n;
}
foreach(int n in queue2)
{
q2.Enqueue(n);
sum2 += n;
}
//평균값 구할때 배열.Sum()으로 계산하니까 런타임 걸렸어. 알아둬라
//long average = (queue1.Sum() + queue2.Sum()) /2;
long average = (sum1 + sum2) / 2;
if((sum1 + sum2) % 2 !=0) return -1;
int maxLength = (queue1.Length + queue2.Length)*2;
while(answer < maxLength)
{
if(average == sum1) return answer;
if(average > sum1)
{
int dequeueNum = q2.Dequeue();
q1.Enqueue(dequeueNum);
sum1 += dequeueNum;
answer ++;
}
else
{
int dequeueNum = q1.Dequeue();
q2.Enqueue(dequeueNum);
sum1 -= dequeueNum;
answer ++;
}
}
return -1;
}
}
728x90
반응형
'코딩테스트_c# > 프로그래머스' 카테고리의 다른 글
프로그래머스 ) 코딩테스트 연습 - 성격 유형 검사하기 Level.1_C# (0) | 2024.11.11 |
---|---|
프로그래머스 ) 코딩테스트 연습 - 호텔 대실 Level.2_C# (0) | 2024.07.26 |
프로그래머스 ) 코딩테스트 연습 - 신고결과 받기 Level.1_C# (0) | 2024.07.19 |
프로그래머스 ) 코딩테스트 연습 - 2개 이하로 다른 비트 Level.2_C# (0) | 2024.03.22 |
프로그래머스 ) 연습 문제 - 할인행사 Level.2_C# (0) | 2024.03.08 |