• 문제 링크
26596번: 황금 칵테일
Vodka가 총 150, Cola가 총 242 들어갔고 $\lfloor150 * 1.618\rfloor = \lfloor242.7\rfloor=242$ 이므로 두 재료가 서로 황금비를 이뤄 맛있는 황금 칵테일이 된다.
www.acmicpc.net
• 풀이 과정
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.HashMap;
import java.util.Map;
import java.util.StringTokenizer;
public class Main {
static Map<String, Integer> map = new HashMap<>();
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
while (n-- > 0) {
StringTokenizer st = new StringTokenizer(br.readLine());
String key = st.nextToken();
map.put(key, map.getOrDefault(key, 0) + Integer.parseInt(st.nextToken()));
}
bw.write(isDelicious() ? "Delicious!" : "Not Delicious...");
bw.flush();
}
private static boolean isDelicious() {
for (String key : map.keySet())
if (containsValue(key, (int) (map.get(key) * 1.618))) return true;
return false;
}
private static boolean containsValue(String exclude, int value) {
for (String key : map.keySet())
if (!key.equals(exclude) && map.get(key) == value) return true;
return false;
}
}
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 4848 집합 숫자 표기법 - Data Structure / Java (0) | 2023.07.30 |
---|---|
[백준] 7585 Brackets - Data Structure / Java (0) | 2023.07.29 |
[백준] 15577 Prosjek - Data Structure / Java (0) | 2023.07.27 |
[백준] 14753 MultiMax - Brute Force / Java (0) | 2023.07.26 |
[백준] 9417 최대 GCD - Brute Force / Java (0) | 2023.07.25 |
댓글