반응형
SMALL
문제 정보
문제명 - 부호
난이도 - 브론즈 III
문제 번호 - 1247번
문제 링크
문제
N개의 정수가 주어지면, 이 정수들의 합 S의 부호를 구하는 프로그램을 작성하시오.
입력
총 3개의 테스트 셋이 주어진다.
각 테스트 셋의 첫째 줄에는 N(1 ≤ N ≤ 100,000)이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 정수가 주어진다. 주어지는 정수의 절댓값은 9223372036854775807보다 작거나 같다.
출력
총 3개의 줄에 걸쳐 각 테스트 셋에 대해 N개의 정수들의 합 S의 부호를 출력한다.
S=0이면 "0"을, S>0이면 "+"를, S<0이면 "-"를 출력하면 된다.
예제 입력/출력
예제 입력 예제 출력 3
0
0
0
10
1
2
4
8
16
32
64
128
256
-512
6
9223372036854775807
9223372036854775806
9223372036854775805
-9223372036854775807
-9223372036854775806
-92233720368547758040
-
+
알고리즘 분류
● 수학
● 사칙연산
● 임의 정밀도 / 큰 수 연산
소스코드
package Lv1_Bronze;
/*
* BigInteger는 문자열 형태로 이루어져 있어 숫자의 범위가 무한하기 때문에 어떠한 숫자든지 담을 수 있다.
*/
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.math.BigInteger;
/**
* @author HanHoon
* @category 수학, 사칙연산, 임의 정밀도/큰 수 연산
* https://www.acmicpc.net/problem/1247
*/
public class BOJ_B3_1247_부호 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder str = new StringBuilder();
int T = 3;
for (int testcase = 0; testcase < T; testcase++) {
int N = Integer.parseInt(br.readLine());
BigInteger sum = new BigInteger("0");
for (int i = 0; i < N; i++) {
sum = sum.add(new BigInteger(br.readLine()));
}
if(sum.compareTo(new BigInteger("0")) > 0)
str.append("+").append("\n");
else if (sum.compareTo(new BigInteger("0")) < 0)
str.append("-").append("\n");
else
str.append("0").append("\n");
}
System.out.println(str.toString());
br.close();
}
}
BaekJoon List
기회는 준비된 자에게 찾아온다.
반응형
LIST
'BaekJoon > Bronze' 카테고리의 다른 글
[BOJ/JAVA] 백준 1000 : A+B (자바) (0) | 2022.04.05 |
---|---|
[BOJ/JAVA] 백준 20361 : 일우는 야바위꾼 (자바) (0) | 2022.04.05 |
[BOJ/JAVA] 백준 10817 : 세 수 (자바) (0) | 2022.04.05 |
[BOJ/JAVA] 백준 8958 : OX퀴즈 (자바) (0) | 2022.04.05 |
[BOJ/JAVA] 백준 8320 : 직사각형을 만드는 방법 (자바) (0) | 2022.04.05 |
댓글