백준_11399 ATM (삽입정렬 & 구간합배열)Algorithm/Algorithm 문제2024. 1. 14. 17:00
Table of Contents
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class BJ_11399 {
public static void main(String[] args) throws IOException {
int n, i, j, index, sortNum, result;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
n = Integer.parseInt(br.readLine());
StringTokenizer st = new StringTokenizer(br.readLine());
int[] arr = new int[n];
int[] sumArr = new int[n];
for(i=0; i<n; i++) {
arr[i] = Integer.parseInt(st.nextToken());
}
//선택정렬
for(i=1; i<n; i++) {
index = i;
sortNum = arr[i];
for(j=0; j<i; j++) { //삽입할 위치 찾기
if(arr[j]+1 > sortNum) {
index = j;
break;
}
}
if(index == i) { //삽입할 위치가 그대로라면 종료
continue;
} else {
for(j=i; j>index; j--) { //삽입할 위치까지 뒤에서부터 shift
arr[j] = arr[j-1];
}
arr[index] = sortNum; //삽입
}
}
//구간합배열 sumArr 이용
sumArr[0] = arr[0];
result = sumArr[0];
for(i=1; i<n; i++) {
sumArr[i] = sumArr[i-1] + arr[i];
result += sumArr[i];
}
System.out.println(sb.append(result));
}
}
'Algorithm > Algorithm 문제' 카테고리의 다른 글
백준_2751 수 정렬하기2 (병합정렬) (0) | 2024.01.16 |
---|---|
백준_11004 k번째 수 (퀵정렬) (0) | 2024.01.15 |
백준_1427 소트인사이드 (선택정렬) (0) | 2024.01.13 |
백준_1377 버블 소트 (버블정렬) (0) | 2024.01.12 |
백준_2750 수 정렬하기 (버블정렬) (0) | 2024.01.11 |
@kjyyjk :: 녕의 학습 기록
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!