728x90
반응형
https://www.acmicpc.net/problem/2355
2355번: 시그마
첫째 줄에 두 정수 A, B가 주어진다. (-2,147,483,648 ≤ A, B ≤ 2,147,483,647)
www.acmicpc.net
일단 내가 풀 때 자잘한 실수도 많았던 문제고 브론즈3이라고 무시하고 들어갔다가 계속 틀려서 은근 애먹었다.
Long.parseLong도 은근 자주 쓰는 것 같다.
1) a가 b보다 큰 경우
2) a,b가 모두 양수
3) a,b가 모두 음수
4) a만 음수 (a가 b보다 작다는 것을 만족할 때)
5) a, b를 long으로 입력받았는지
6) for문이 들어가면 최악의 경우 시간초과가 발생 > 시그마 공식으로 풀기
이 6가지만 신경써서 코딩했다면 잘 풀렸을 것 같다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
long a = Long.parseLong(st.nextToken());
long b = Long.parseLong(st.nextToken());
if(a>b){
long tmp = a;
a = b;
b = tmp;
}
long sum = 0;
if(a<0){
if(b<0){
a = -a;
b = -b;
sum = a*(a+1)/2 - b*(b+1)/2 + b;
sum = -sum;
}
else{
a = -a;
long tmp = a*(a+1)/2;
tmp = -tmp;
sum = b*(b+1)/2;
sum += tmp;
}
}
else sum = b*(b+1)/2 - a*(a+1)/2 + a;
System.out.println(sum);
}
}
728x90
반응형
'알고리즘 (for 코딩테스트) > 백준_자바 (Java)' 카테고리의 다른 글
[Java 자바] 백준 알고리즘 1074번 : Z (0) | 2022.03.23 |
---|---|
[Java 자바] 백준 알고리즘 2754번 : 학점계산 (0) | 2022.03.13 |
[Java 자바] 백준 알고리즘 24510번 : 시간복잡도를 배운 도도 (0) | 2022.02.24 |
[Java 자바] 백준 알고리즘 10093번 : 숫자 (0) | 2022.01.26 |
[Java 자바] 백준 알고리즘 18111번 답 : 마인크래프트 (0) | 2022.01.08 |
최근댓글