-
백준 15953(JAVA) - 상금헌터Algorithm 2022. 11. 24. 17:04728x90
15953 상금 헌터 문제이다. 문제 자체는 엄청나게 길어서 살짝 쫄고 들어갈 수 있는 부분이 있다. 하지만, 사실 읽어보면 그냥 if else if else 만 한 참 동안 해주면 되는 문제이다 보니 그리 힘들이지 않고 금방 풀 수 있었다. 범위를 이상하게 잡는 실수 때문에 시간이 조금 끌렸지만 기본적인 알고리즘은 거의 5분 안에 생각했던 거 같다.
package selftest; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main_15953 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); int N = Integer.parseInt(br.readLine()); for(int i = 0; i<N; i++) { StringTokenizer st = new StringTokenizer(br.readLine()); int num1 = Integer.parseInt(st.nextToken()); int num2 = Integer.parseInt(st.nextToken()); sb.append(FirstFes(num1) + SecondFes(num2)).append('\n'); } System.out.println(sb.toString()); } public static int FirstFes(int n) { if(n == 1) { return 5000000; } else if(1<n && n<=3) { return 3000000; } else if(3<n && n<=6) { return 2000000; } else if(6<n && n<=10) { return 500000; } else if(10<n && n<=15) { return 300000; } else if(15<n && n<=21) { return 100000; } else return 0; } public static int SecondFes(int n) { if(n == 1) { return 5120000; } else if(1<n && n<=3) { return 2560000; } else if(3<n && n<=7) { return 1280000; } else if(7<n && n<=15) { return 640000; } else if(15<n && n<=31) { return 320000; } else return 0; } }
이렇게 말도 안되게 범위를 다 나누어 둔 상태로 그냥 두 수를 입력받고 더해주면 끝!!!
728x90'Algorithm' 카테고리의 다른 글
백준 10448(JAVA) - 유레카 이론 (0) 2022.11.24 백준 10815(JAVA) - 숫자 카드 (0) 2022.11.24 백준 2751(JAVA) - 수 정렬하기2 (0) 2022.11.22 백준 2810(JAVA) - 컵홀더 (0) 2022.11.17 백준 2512(JAVA) - 예산 (0) 2022.11.15