Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 |
Tags
- git 연동
- 한국투자증권 양도세 신고
- 해외증권 양도세 한국투자증권
- 홈택스 해외주식 양도세
- bfs 미로탐색 java
- CSTS 폭포수 모델
- recursion example
- 피보나치함수
- katalon 비교
- 한국투자증권 해외주식 양도세
- katalon
- 피보나치 예제
- 재귀함수 예제
- tomcat log
- 국세청 해외주식 양도세 신고방식
- 주식 양도세 신고방법
- katalon xpath
- java.sql.SQLSyntaxErrorException
- katalon 사용법
- oracle group by
- 최대공약수 예제
- javascript 자동완성
- katalon 자동화
- 테스트 자동화
- 피보나치함수 예제
- Katalon Recorder 사용법
- js 자동완성
- 재귀 예제
- 해외주식 양도세 신고
- 톰캣 실시간 로그
Archives
- Today
- Total
엄지월드
PGM 118667 두 큐 합 같게 만들기 본문
헷갈렸던 점
- 크게 어렵진 않았음. 넣고 빼는 것을 반복했을 때에 예외가 있을줄 알았는데 풀렸음
import java.util.*;
class Solution {
public static int solution(int[] queue1, int[] queue2) {
int answer = -2;
Queue<Long> q1 = new LinkedList<>();
Queue<Long> q2 = new LinkedList<>();
long totalQ1 = 0;
long totalQ2 = 0;
// 큐에 데이터 넣기
for(int i=0; i<queue1.length; i++){
totalQ1 += queue1[i];
q1.add((long) queue1[i]);
}
for (int i = 0; i < queue2.length; i++) {
totalQ2 += queue2[i];
q2.add((long) queue2[i]);
}
int cnt = 0;
long sum = totalQ1 + totalQ2;
int length = queue1.length + queue2.length;
long q2Num = -1;
long q1Num = -1;
// 합이 같아질 때까지 반복
while(true){
if(sum/2 > totalQ1){
q2Num = q2.poll();
q1.add(q2Num);
totalQ1 += q2Num;
cnt++;
}else if(sum/2 < totalQ1){
q1Num = q1.poll();
q2.add(q1Num);
totalQ1 -= q1Num;
cnt++;
}else if(sum/2 == totalQ1) break;
if(cnt > queue1.length * 3){
cnt = -1;
break;
}
}
answer = cnt;
return answer;
}
}
'알고리즘' 카테고리의 다른 글
PGM 92335 k진수에서 소수 개수 구하기 (0) | 2022.09.14 |
---|---|
PGM 118670 행렬과 연산 (0) | 2022.09.13 |
42862 체육복 (1) | 2022.09.11 |
72410 신규 아이디 추천 (0) | 2022.09.09 |
68935 진법 뒤집기 (0) | 2022.09.09 |
Comments