코딩테스트/SWEA4 [SWEA] 4012번 - 요리사 풀이 및 코드 분석 (Java) 문제 링크1. 문제 분석📌 문제 개요N개의 재료를 N/2개씩 두 그룹으로 나누어 요리를 만든다.두 요리의 맛의 차이가 최소가 되도록 재료를 배분해야 한다.각 재료 i와 j가 함께 사용되면 시너지(Sij)가 발생한다.두 요리의 맛 차이 |A - B| 를 최소화하는 경우를 찾는다.🎯 요구사항N개의 재료를 두 개의 요리에 N/2개씩 배분해야 한다.각 요리의 맛을 계산하여 두 음식의 맛 차이가 최소가 되도록 한다.완전 탐색(백트래킹)으로 모든 경우를 조사해야 한다.2. 해결 방법🔹 핵심 개념조합(combination) 을 이용하여 N/2개의 재료를 선택하여 요리 A를 만든다.선택되지 않은 재료들로 요리 B를 만든다.각 요리의 맛을 계산하여 차이를 최소화한다.백트래킹을 활용하여 최적의 조합을 찾는다.🔑 해.. 2025. 2. 28. [SWEA] 1952번 - 벌꿀채취 풀이 및 코드 분석 (Java) 문제 링크1. 문제 분석📌 문제 개요N x N 크기의 벌통 배열이 있다.두 명의 일꾼이 가로로 M개의 벌통을 선택하여 꿀을 채취해야 한다.두 일꾼의 선택한 벌통이 겹치면 안 된다.각 일꾼은 C 이하의 꿀만 채취 가능하며, 수익은 꿀의 양의 제곱합이다.최대 수익을 얻는 경우를 찾아야 한다.🎯 요구사항두 일꾼이 서로 겹치지 않는 위치에서 벌통을 선택해야 한다.각 일꾼이 채취할 꿀의 양이 C 이하인 경우의 수익을 계산해야 한다.두 일꾼이 얻을 수 있는 최대 수익을 구해야 한다.완전 탐색을 이용하여 가능한 모든 경우를 조사해야 한다.2. 해결 방법🔹 핵심 개념모든 가능한 조합을 완전 탐색(Brute Force)각 일꾼의 최대 수익을 구하는 방법: 부분집합 탐색(백트래킹)🔑 해결 절차모든 가능한 두 일꾼의.. 2025. 2. 28. [SWEA] 4008번 - 숫자 만들기 풀이 및 코드 분석 (Java) 문제 링크1. 문제 분석📌 문제 개요주어진 N개의 숫자 사이에 연산자(+,-,×,÷)를 넣어 다양한 수식을 만들 수 있다.연산자의 우선순위 없이 왼쪽에서 오른쪽으로 연산이 수행된다.연산자 카드를 적절히 배치하여, 최댓값과 최솟값의 차이를 구하는 문제이다.🎯 요구사항각 연산자 카드는 반드시 모두 사용해야 한다.완성된 수식의 결과 중 최댓값과 최솟값을 찾고, 그 차이를 출력해야 한다.나눗셈(÷) 연산은 몫만 취급(소수점 이하 버림)해야 한다.숫자의 순서는 변경할 수 없다.가능한 모든 연산자 조합을 탐색해야 한다.N의 최대 크기가 12이므로, 브루트포스(백트래킹)로 해결 가능하다.2. 해결 방법🔹 핵심 개념이 문제는 연산자의 모든 가능한 조합을 탐색해야 하므로,백트래킹(Brute Force) 알고리즘을 .. 2025. 2. 27. [SWEA] 1952번 - 수영장 풀이 및 코드 분석 (Java) 문제 링크1. 문제 분석📌 문제 개요김 프로가 1년 동안 가장 적은 비용으로 수영장을 이용하는 방법을 찾아야 한다.4가지 이용권 종류1일 이용권 → 특정 일만 사용 (X일 × 1일 이용권 가격)1달 이용권 → 해당 월 전체 이용 (1달 이용권 가격)3달 이용권 → 연속 3개월 이용 (3달 이용권 가격)1년 이용권 → 1년 전체 이용 (1년 이용권 가격)🎯 요구사항각 월의 이용 계획과 이용권 가격이 주어졌을 때,최소 비용을 계산하는 프로그램을 작성해야 한다.1년 동안 최적의 조합을 찾아야 하므로백트래킹(Brute Force) 또는 DP(최적화 탐색)을 활용해야 한다.2. 해결 방법🔹 핵심 개념각 월마다 4가지 이용권 중 하나를 선택해야 한다.완전 탐색(백트래킹)을 이용해 모든 경우를 시도한다.이전 선.. 2025. 2. 27. 이전 1 다음