Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[백준] - 쉽게 푸는 문제 (1292) (자바/Java) 본문

알고리즘문제/백준 문제(Java)

[백준] - 쉽게 푸는 문제 (1292) (자바/Java)

luke-king 2024. 5. 6. 17:21

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

문제.


 

 

 

 

 

 

 

 

풀이.


 

public class Main {
    public static void main(String[] args){

        Scanner sc = new Scanner(System.in);
        ArrayList<Integer> list = new ArrayList<>();

        int a = sc.nextInt();
        int b = sc.nextInt();

        for (int i = 0; i < 1000; i++) {
            for (int j = 0; j <= i; j++) {
                list.add(i + 1);
            }
        }

        int sum = 0;
        for (int i = a - 1 ; i <= b - 1; i++) {
            sum += list.get(i);
        }
        System.out.println(sum);

    }

}

 

이번 문제는 " 쉽게 푸는 문제 "라는 문제다.

수는 1,2,2,3,3,3,4,4,4,4,5,5,...... 식으로 각 숫자의 크기만큼 중복되어 있는 것이다.

최대 1000이며 입력한 a부터 b까지의 자리 수를 합하는 문제다.

그럼 바로 풀이 해보겠다.

 

1. Arraylist를 사용해 list.add()를 통해 각 수들을 넣어준다.

 

2.  그렇다면 list 내에 수가 들어 있으며 우리는 a부터 b까지의 수를 합을 구하는 for문을 만들어 준다.

 

3. a, b 입력값에 -1을 해준 이유는 당연히 index 0부터 시작하기에 -1씩 해준다.

 

4. 마지막으로 .get()을 사용해 각 i번째의 값들을 더해 합을 구해주면 끝이다.