개발/코딩테스트30 백준 2960번: 도영이가 만든 맛있는 음식 [JAVA] https://www.acmicpc.net/problem/2961 2961번: 도영이가 만든 맛있는 음식 첫째 줄에 재료의 개수 N(1 ≤ N ≤ 10)이 주어진다. 다음 N개 줄에는 그 재료의 신맛과 쓴맛이 공백으로 구분되어 주어진다. 모든 재료를 사용해서 요리를 만들었을 때, 그 요리의 신맛과 쓴맛은 www.acmicpc.net 풀이 부분집합을 이용한 문제이다. 재구함수로 각각의 재료를 쓰는 경우/안 쓰는 경우를 나눠 모든 부분집합을 구한 뒤, 각 부분집합에서의 쓴맛과 신맛 차이 중 가장 작은 값을 출력한다. 재료가 하나도 쓰이지 않은 경우는 제외한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputS.. 2023. 3. 15. 백준 1759번: 암호만들기 [JAVA] https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 풀이 주어진 문자 C개 중 L개를 뽑은 뒤 정렬하면 되기 때문에 조합을 사용한다. 초기 문자열을 정렬하고, 재귀 함수를 이용해 자신보다 인덱스가 큰 문자들만 탐색하며 암호를 찾아나간다. 찾은 암호에 모음이 1개, 자음이 2개 이상 있는지 확인한 뒤 출력한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.Inpu.. 2023. 3. 15. 백준 17608번: 막대기 [JAVA] https://www.acmicpc.net/problem/17608 17608번: 막대기 아래 그림처럼 높이만 다르고 (같은 높이의 막대기가 있을 수 있음) 모양이 같은 막대기를 일렬로 세운 후, 왼쪽부터 차례로 번호를 붙인다. 각 막대기의 높이는 그림에서 보인 것처럼 순서대로 www.acmicpc.net 풀이 마지막 막대기부터 세야하기 때문에 스택을 사용한다. 오른쪽부터 보이는 막대기를 세는데, 보였던 막대기보다 큰 막대기가 나올 때마다 카운트를 증가시키고, 막대기의 최대값이 나오면 종료한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack.. 2023. 3. 15. 백준 2164번: 카드2 [JAVA] https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 제일 위에 있는 카드를 버리거나, 맨 뒤로 넣기만 하면 되므로 큐를 사용하면 된다. N까지 숫자가 들어있는 큐를 만들고, 큐의 사이즈가 1이 될 때까지 버리기, 맨 뒤에 넣기를 반복한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Ar.. 2023. 3. 15. 이전 1 ··· 4 5 6 7 8 다음