목록Programmers (3)
사진과코딩

문제 파악1. 두 개의 큐 값을 같게 만들어야한다.2. 두 개의 큐의 값이 같기 전에는 한 개의 큐는 작고 한 개의 큐는 클 것 이다.3. 큐는 FIFO로 먼저 들어온 것이 먼저 나간다. 즉, 두 개의 큐에서 한 번의 이동에 나올 수 있는 숫자는 제일 앞에 있는 숫자이다.4. 큰 큐의 값을 하나빼서 작은 큐에 옮기는 것을 반복하여 두 큐가 같도록 한다.4. 단 카운트가 두 큐 사이즈의 합 *2를 넘긴 경우 두 큐가 같아 지는 경우가 없으므로 -1을 반환5. 1 ≤ queue1의 원소, queue2의 원소 ≤ 10^9 이므로 큐의 합은 int의 최대값 넘을 수 있다. 따라서 큐의 합은 long 타입으로 선언.접근 방법1. 두 개의 큐를 선언 하고 int[]을 순환하며 큐에 값을 넣고 각각의 큐에 들어간 원..

문제 파악배열의 값 중 2개의 값을 선택하여 결과값을 구한다.접근 방법정렬 + 투포인트배열을 정렬한다.배열 끝과 처음에 포인트를 설정한다 3-1) 두 포인트의 값이 원하는 값 보다 크면 배열 끝 포인트를 뒤로 옮긴다(an-1이 an보다 작기때문) 3-2) 두 포인트의 값이 원하는 값 보다 작으면 배열 앞 포인트를 앞으로 옮긴다(an이 an+1보다 크기때문)HashMapHashMap 객체를 만든다배열을 순회하면서 (원하는값 - 배열값)의 결과값이 HasmMap에 존재하는지 containKeys()를 통해 확인한다.존재하지 않으면 HashMap에 배열의 값을 넣는다존재하면 배열의 값과 HashMap의 값을 출력한다.코드 구현 /*투포이터*/import java.util.*; //나중에 사용을 위해 명시cla..

문제 파악participant에는 있지만 completion에는 없는 사람을 찾기접근 방법정렬이용정렬을 하여 두 배열을 탐색할 수 있도록 설정완전 탐색을 통해 같은지 판단. 다른 순간이 나오는 경우 완주 하지 못 한 사람이 있음HashMap이용HashMap으로 이용하여 completion의 이름과 동명이인의 명 수를 저장participant을 탐색하며 HashMap에 있는지 지금까지 몇 명을 찾았는 지를 파악 3-1) HashMap의 value가 0인 경우 동명이인이 들어왔고 본인은 못 들어왔음으로 완주하지 못함. 3-2) HashMap에 없을경우 완주 하지 못 한 사람코드 구현/** * 정렬을 활용 * 정렬 시 문자열 자체도 비교해야하는 시간이 소모되므로 상대적으로 오래 걸린다. ..