백준이당

[JAVA] 백준 1292번 : 쉽게 푸는 문제

이히당 2023. 6. 20. 18:14

https://www.acmicpc.net/problem/1292

 

1292번: 쉽게 푸는 문제

첫째 줄에 구간의 시작과 끝을 나타내는 정수 A, B(1 ≤ A ≤ B ≤ 1,000)가 주어진다. 즉, 수열에서 A번째 숫자부터 B번째 숫자까지 합을 구하면 된다.

www.acmicpc.net

 

import java.io.*;
import java.util.*;
import java.util.stream.*;
import java.text.*;


public class Main {
	
	public static void main(String[] args) throws IOException {
    	Scanner sc = new Scanner(System.in);
    	
    	int A = sc.nextInt();
    	int B = sc.nextInt();
    	
    	int rst = 0; //결과
    	int maxOrder = 1; //들어갈 수 있는 최대 번째
    	int turn = 1; //더해질 값
    	
    	//initial
    	for (int i = 1; i<=A; i++) {
    		if (maxOrder <A) {
    			turn ++;
    			maxOrder += turn;
    		} else {
    			break;
    		}
    	}
    	
    	for (int i = A; i <= B; i++) {
    		
    		if (i < maxOrder) {
    			rst += turn;
    		}
    		if (i == maxOrder) {
    			rst += turn;
    			maxOrder += ++turn;
    			
    		}
  		
    	}
    	//to finish
    	
    	System.out.println(rst);
		

	
	}
	


}

오랜만에 쉽게 풀었네 

ㅠㅠ잘하고싶다

728x90