[백준 - 12790번] Mini Fantasy War - 자바(JAVA) 정리 및 해설
안녕하세요. 이번 문제는 구현 문제인 Mini Fantasy War를 풀어보겠습니다.
이문제는 구현 문제인데, 개인적인 생각을 정리하기 위해서 적습니다.
구현 문제에서는 코드를 얼마나 줄일수있냐가 문제를 빠르게 풀 수 있는 지를 가르는 척도라고 생각합니다.
즉, 체력, 마력, 공격력, 방어력을 함수처리를 해버리는 걸로 문제 해결을 편하게 할 수 있습니다.
Main문에 여러가지 코드를 넣는 것보단 외부에 함수를 만들어서 한번에 처리하는 것이 나중에 코드를 고치거나 오류점을 찾아내기가 편할 겁니다.
/** 2019. 9. 23.
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int t = Integer.parseInt(br.readLine());
StringTokenizer st;
for(int i =0; i<t; i++){
String tc = br.readLine();
st = new StringTokenizer(tc, " ");
int chp = Integer.parseInt(st.nextToken());
int cmp = Integer.parseInt(st.nextToken());
int cattack = Integer.parseInt(st.nextToken());
int cdefence = Integer.parseInt(st.nextToken());
int ehp = Integer.parseInt(st.nextToken());
int emp = Integer.parseInt(st.nextToken());
int eattack = Integer.parseInt(st.nextToken());
int edefence = Integer.parseInt(st.nextToken());
System.out.println(1*checkHP(chp,ehp)+5*checkMP(cmp, emp)+2*checkAttack(cattack, eattack)+2*(cdefence+edefence));
}
}
static int checkHP(int a, int b){
if(a+b<1){
return 1;
}
else{
return a+b;
}
}
static int checkMP(int a, int b){
if(a+b<1){
return 1;
}
else{
return a+b;
}
}
static int checkAttack(int a, int b){
if(a+b<0){
return 0;
}
else{
return a+b;
}
}
}
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 - 1003번] 피보나치 함수 - 자바(JAVA) 정리 및 해설 & 1일 1DP 2일차 (0) | 2020.02.18 |
---|---|
[백준 - 1010번] 다리 놓기 - 자바(JAVA) 정리 및 해설 & 1일 1DP - 1일차 (0) | 2020.02.18 |
[백준 - 5585번] 거스름돈 - JAVA 정리 및 해설 (2) | 2019.09.27 |
[백준 - 1912번] 연속합- JAVA 정리 및 해설 (0) | 2019.07.13 |
[백준 - 2579번] 계단오르기 - 자바(JAVA) 정리 및 해설 (3) | 2019.03.13 |