728x90
반응형

백준알고리즘

- Bronze 4 -

 #4299. AFC 윔블던 by JAVA and node.js 

 


 

문제

출처: https://www.acmicpc.net/problem/4299 

 


 

접근 방법

문제가 엄청 길지만 마지막 부분만 보면 된다.

두 팀이 득점한 점수의 합과 차가 주어졌을 때, 최종 점수를 구하는 프로그램을 작성하시오.

 

입력에 두 팀 점수의 합과 차가 주어진다고 했으니, 득점을 많이 한 쪽의 점수를 x, 상대의 점수를 y라고 한다면

x+y와 x-y 값이 주어지는 것이다.

합을 A, 차를 B라고 하면 x+y = A, x-y =B가 되고, x = (A+B) / 2, y = (A-B) / 2 (또는 y=A-x or y=x-B)가 된다.

x를 구하면 y 값은 바로 출력할 수 있으니 x 값이 정수가 아니라면 -1을, 아니면 x와 y를 출력하면 된다.

 


 

풀이

▶ JAVA

import java.util.*;

public class Main {
    public static void main(String[] args){
        Scanner scan = new Scanner(System.in);
        int plus = scan.nextInt();
        int minus = scan.nextInt();
        scan.close();

        System.out.println(((plus+minus)%2 != 0 || plus < minus) ? -1 : (plus+minus)/2 + " " + (plus-minus)/2);
    }
}

(plus+minus) % 2 != 0 : 정수가 아니거나(나머지가 생기거나) 합이 차보다 작으면 -1 을,

아니면 두 점수를 공백을 사이에 두고 출력

 

▶ node.js

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split(' ').map(v => +v);
var plus = input[0];
var minus = input[1];

var x = (plus+minus)/2;
var y = (plus-minus)/2;
console.log(((plus+minus)%2 != 0 || plus < minus) ? -1 : x + " " +y);

 

 


 

결과

 


 

 

 

 

 

End.

heisely's 괴발개발 개발일지

 

728x90
반응형

+ Recent posts