글 작성자: 개발섭

안녕하세요. 이번 문제는 구현 문제인 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;
		}
	}
	
}