[프로그래머스 / Java] 두 큐 합 같게 만들기

2025. 10. 8. 19:37·Data Structure & Algorithm

https://school.programmers.co.kr/learn/courses/30/lessons/118667

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


◎ 문제


◎ 코드 및 풀이

import java.util.*;
class Solution {
    public int solution(int[] queue1, int[] queue2) {
        Queue<Integer> q1 = new LinkedList<>();
        Queue<Integer> q2 = new LinkedList<>();
        long q1Sum = 0;
        long q2Sum = 0;
        
        for(int i=0; i<queue1.length; i++){
            q1.add(queue1[i]);
            q1Sum += queue1[i];
            q2.add(queue2[i]);
            q2Sum += queue2[i];
        }

        // 총 합이 홀수일 경우 -1 반환
        if((q1Sum+q2Sum)%2==1){
            return -1;
        }

        int answer = 0;
        int tmp = 0;

        while(answer <= (queue1.length + queue2.length)*2){
            if(q1Sum < q2Sum){
                tmp = q2.poll();
                q1.add(tmp);
                q1Sum += tmp;
                q2Sum -= tmp;
                answer++;
            } else if (q1Sum > q2Sum){
                tmp = q1.poll();
                q2.add(tmp);
                q1Sum -= tmp;
                q2Sum += tmp;
                answer++;
            } else {
                return answer;
            }
        }

        return -1;
    }
}

◎ 기록

간단한 구현 문제였지만 25,26,27 번 테스트 케이스에서 계속 실패해서 꽤나 오래 걸렸습니다.

다시 한번 천천히 문제를 읽던 도중 문제의 제한사항에서 문제점을 발견할 수 있었습니다.

주의: 언어에 따라 합 계산 과정 중 산술 오버플로우 발생 가능성이 있으므로 long type 고려가 필요합니다.

 

1. 문제를 잘 읽을 것..

2. 항상 오버플로우 가능성을 염두해두고 풀 것..

저작자표시 (새창열림)
'Data Structure & Algorithm' 카테고리의 다른 글
  • [프로그래머스 / Java] 미로 탈출
  • [프로그래머스 / Java] 무인도 여행
  • [백준 / Java] 1043번 : 거짓말
  • [백준 / Java] 1167번 : 트리의 지름
쭈니어 개발자
쭈니어 개발자
    홈 |
  • 쭈니어 개발자
    주니어 개발자 공부 기록
    쭈니어 개발자
  • 글쓰기 관리
  • 전체
    오늘
    어제
  • GitHub

    Notion

    • 분류 전체보기 (134)
      • Frontend (4)
      • Backend (21)
      • Database (4)
      • Data Structure & Algorithm (41)
      • Network (16)
      • IT Education (48)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 인기 글

  • 태그

    트리의 지름
    코테
    백준
    자바
  • 최근 댓글

  • hELLO· Designed By정상우.v4.10.4
쭈니어 개발자
[프로그래머스 / Java] 두 큐 합 같게 만들기
상단으로

티스토리툴바