반응형
```
백준 4299번 축구 점수 JAVA 구현해보기
```
이번 글을 통해 배워갈 내용
- 백준 4299번 풀이
https://www.acmicpc.net/problem/4299
4299번: AFC 윔블던
원섭이는 잉글랜드 4부리그 풋볼 리그 2에서 활약하는 AFC 윔블던을 좋아한다. 이 팀은 2002년 윔블던 FC가 밀턴 킨스로 연고 이전을 감행하자 윔블던의 서포터들이 스스로 나서 창단한 팀이다. 윔
www.acmicpc.net
백준 4299번은 축구 점수의 합, 차가 주어질 때
해당되는 축구 점수를 출력하면 되는 문제입니다.
구할 수 없다면 -1을 출력하면 됩니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안 풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
합과 차로 두점수 a b를 구한다면
a + b = sum
a - b = sub
이기때문에
a = (sum + sub) / 2
b = (sum - sub) / 2
입니다.
이때
정수를 나누는 것이기 때문에
sum + sub는 2의 배수여야 하며
sum - sub도 2의 배수여야 하고
양수의 합과 차의 특성상 음수가 나올 수 없기 때문에
0 이상의 값이 나와야 합니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws IOException {
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int sum = Integer.valueOf(st.nextToken());
int sub = Integer.valueOf(st.nextToken());
System.out.print(findScore(sum, sub));
}
private static String findScore(int sum, int sub) {
if((sum + sub) % 2 != 0 && (sum - sub) % 2 != 0){
return "-1";
}
int a = (sum + sub) / 2;
int b = (sum - sub) / 2;
if (a < 0 || b < 0) {
return "-1";
} else {
return (a + " " + b);
}
}
}
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩 하시길 바랍니다 ~ :)
728x90
반응형
'Java > Java 알고리즘' 카테고리의 다른 글
백준 6975번 Deficient, Perfect, and Abundant JAVA 구현해보기 (0) | 2022.02.06 |
---|---|
백준 2845번 파티가 끝나고 난 뒤JAVA 구현해보기 (0) | 2022.02.05 |
백준 4153번 직각삼각형 JAVA 구현해보기 (0) | 2022.02.05 |
백준 16120번 PPAP JAVA 구현해보기 (0) | 2022.02.05 |
백준 8371, 8387번Dyslexia JAVA 구현해보기 (0) | 2022.02.05 |