전체 글 (434) 썸네일형 리스트형 [프로그래머스] 두 큐 합 같게 만들기 코드 힌트큐의 합을 맞추기:두 큐의 합을 비교해, 두 큐의 합이 같아지도록 큐 간의 원소를 옮깁니다.각 큐의 합을 추적하면서 목표 합과 비교합니다.목표 합 설정:두 큐의 모든 원소의 합을 계산하고, 이를 절반으로 나눈 값이 목표 합이 됩니다.최대 반복 횟수:두 큐의 원소들을 이동하면서 큐 간의 합을 맞춥니다.두 큐의 원소 개수보다 한 번 더 이동할 수 있도록 반복 횟수를 제한합니다.큐 간 이동:첫 번째 큐의 합이 목표보다 작으면, 두 번째 큐에서 원소를 하나 빼서 첫 번째 큐에 추가합니다.반대로 첫 번째 큐의 합이 목표보다 크면, 첫 번째 큐에서 원소를 빼서 두 번째 큐에 추가합니다. 정답은 더보기 클릭더보기import java.util.*;class Solution { public int solu.. [백준] 북극곰은 괄호를 찢어 (25918번) 코드 힌트스택을 활용한 괄호 균형 확인:문자열을 순회하면서 스택을 사용해 괄호의 짝을 맞춥니다.열린 괄호는 스택에 추가하고, 닫힌 괄호가 스택의 top 괄호와 짝이 맞으면 스택에서 제거합니다.스택의 최대 크기 추적:스택의 현재 크기를 기록하여 괄호가 중첩된 최대 깊이를 추적합니다.문자열을 순회하면서 스택의 최대 크기를 업데이트합니다.유효성 검사:문자열 순회 후 스택이 비어있지 않다면 올바른 괄호 문자열이 아니며, 결과를 -1로 설정합니다.스택의 깊이 계산:각 단계에서 스택의 크기를 계산하여 최대값을 업데이트합니다. 정답은 더보기 클릭더보기import java.util.*;class Main { public static void main(String[] args) { Scanner in .. [프로그래머스] 기지국 설치 코드 힌트문제 핵심:기지국은 특정 범위를 커버하며, 기지국이 커버하지 않는 빈 구역에 추가 기지국을 설치해야 합니다.새로운 기지국을 설치할 때는, 각 기지국이 커버할 수 있는 범위를 최대한 활용하여 최소 개수로 설치해야 합니다.기지국 범위 계산:기지국이 커버할 수 있는 범위는 좌우로 w만큼이고, 따라서 한 기지국이 커버하는 전체 범위는 2 * w + 1입니다.구역 처리 순서:각 기지국이 커버하지 않는 구역을 찾아 추가 기지국을 배치합니다.각 기지국이 커버하는 구역은 계산하여 확인된 위치를 그 구역의 오른쪽 끝으로 이동합니다.마지막 구역 처리:모든 기지국이 커버한 이후에도 남은 구역이 있을 경우, 그 구역에 추가 기지국을 설치합니다. 정답은 더보기 클릭더보기class Solution { public .. [프로그래머스] [PCCE 기출문제] 9번 / 지폐 접기 코드 힌트문제의 핵심:지갑에 들어갈 수 없는 지폐를 지갑에 넣기 위해, 지폐의 큰 쪽을 반으로 접는 문제입니다.지폐의 크기를 조정할 때마다 카운트를 증가시켜, 최종적으로 지폐가 지갑에 들어갈 수 있게 만들 때까지 접는 횟수를 구합니다.지갑과 지폐 크기 비교:wallet과 bill 배열을 비교하여 지갑이 지폐를 담을 수 있는지 확인합니다. 지갑과 지폐의 최소 크기와 최대 크기를 비교합니다.지폐 접기 과정:bill 배열에서 큰 값을 반으로 접어 크기를 줄입니다. 이 과정은 지갑에 들어갈 수 있을 때까지 반복됩니다.최대/최소 크기 계산:지갑과 지폐 각각의 최대값과 최소값을 구해, 지갑과 지폐의 크기를 비교합니다. 정답은 더보기 클릭더보기더보기class Solution { public int soluti.. [프로그래머스] [PCCP 기출문제] 1번 / 동영상 재생기 코드 힌트:동영상 시간 처리:동영상의 전체 길이와 현재 재생 위치, 오프닝 구간 시작/종료 시간을 모두 분 단위로 변환하여 처리합니다.명령어 처리:next 명령어는 10초 앞으로 이동, 그 외 명령어는 10초 뒤로 이동하게 구현합니다.오프닝 구간 스킵:오프닝 구간에 도달하면 해당 구간을 넘어서 이동합니다.시간 설정 및 포맷 변환:현재 시간이 동영상의 길이를 벗어나지 않도록 제한하고, 시/분 형식으로 변환해 출력합니다. 정답은 더보기 클릭더보기class Solution { public String solution(String video_len, String pos, String op_start, String op_end, String[] commands) { // Video 객체 생성 (.. [프로그래머스] 소수 찾기 코드 힌트:숫자의 모든 순열 생성:주어진 문자열의 각 숫자들로 만들 수 있는 모든 가능한 숫자의 순열을 구합니다. 이때, 숫자의 자릿수를 다양하게 설정하여 1자리, 2자리, ... 최대 n자리까지 모든 경우의 수를 고려합니다.소수 판별:각 순열로 만들어진 숫자가 소수인지 판별하고, 소수일 경우에만 HashSet에 저장합니다.HashSet을 사용하는 이유는 중복된 소수를 배제하기 위해서입니다.순열과 소수 판별의 반복:순열 생성은 재귀적으로 처리하여, 아직 방문하지 않은 숫자를 추가하고, 방문 여부를 기록합니다.소수 여부를 확인할 때는 2부터 해당 숫자의 제곱근까지 나눠보는 방식으로 효율적으로 소수인지 확인합니다. 정답은 더보기 클릭더보기import java.util.*;class Solution { .. [프로그래머스] 단속카메라 코드 힌트:카메라 설치 기준:차량이 고속도로를 나가는 시점에 카메라를 설치하는 것이 가장 효율적입니다.카메라를 설치한 이후에도 다른 차량이 해당 카메라에 걸리는지 확인합니다.차량의 경로가 카메라의 범위를 벗어나는 경우 새로운 카메라를 설치합니다.정렬:차량이 고속도로에서 나가는 시점에 맞춰 오름차순으로 정렬합니다.정렬된 상태에서 경로를 순차적으로 확인해 카메라 설치 여부를 결정합니다.로직 흐름:차량이 나가는 시점을 기준으로 정렬한 후, 가장 먼저 나가는 차량에 카메라를 설치합니다.그 이후 차량들의 경로가 카메라 범위 안에 포함되는지 확인한 후, 포함되지 않으면 새로운 카메라를 설치합니다. 정답은 더보기 클릭더보기import java.util.*;class Solution { public int so.. [백준] 다음 소수 (4134번) 코드 힌트목표:주어진 숫자 target에서 시작해, 가장 가까운 소수를 찾는 문제입니다.입력으로 주어진 숫자들 각각에 대해 처리합니다.소수 판별:n이 소수인지 확인하기 위해, 2부터 Math.sqrt(n)까지의 범위에서 나누어 떨어지는지 검사합니다.이 과정에서 n이 1보다 작거나 2 또는 3일 때의 특별한 경우를 처리합니다.소수 찾기:target이 소수가 아닌 경우, target을 1씩 증가시키며 소수를 찾습니다.소수를 찾으면 현재 target 값을 출력합니다.효율적인 소수 판별:Math.sqrt(n)을 사용하여 제곱근까지만 검사하여 소수 판별을 최적화합니다.반복문을 사용하여 소수를 찾을 때, target을 증가시켜가며 검사합니다. 정답은 더보기 클릭더보기import java.util.*;class M.. 이전 1 ··· 18 19 20 21 22 23 24 ··· 55 다음