[BOJ]15903

도비·2023년 8월 4일

BOJ 연습문제 풀이

목록 보기
1/15

고려사항

  1. int -> long
    연산시 int 범위를 넘어갈 수 있기 때문에 long 을 활용해야 한다. 처음에 int[], nextInt를 활용했는데 long[], nextLong으로 변경했다. int를 활용할 시 정수끼리의 연산에서 발생하는 오버플로우가 발생할 수 있다.

코드

import java.util.Scanner;
import java.util.Arrays;
class Main{
    public static void main(String args[]) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        int M = sc.nextInt();
        long[] a = new long[N];
        for(int i =0; i<N; i++) {
            a[i] = sc.nextLong();
        }
        for(int j = 0; j<M; j++) {
            Arrays.sort(a);
            long sum = a[0]+a[1];
            a[0] = sum;
            a[1] = sum;
        }
        long count = 0;
        for(int t = 0; t<N; t++) {
            count += a[t];
        }
        System.out.println(count);
    }
}

후기

문제를 읽고 여러가지 상황들을 고려해보자. 이번 문제는 아무생각없이 바로 int를 활용했다.

profile
안녕하세요. 저는 도비입니다. 만나서 반갑습니다.

2개의 댓글

comment-user-thumbnail
2023년 8월 4일

유익한 글이었습니다.

1개의 답글