ahlight
개발 저장소
ahlight
전체 방문자
오늘
어제
  • 분류 전체보기 (197)
    • Java (7)
    • Spring (5)
    • JPA (2)
    • JavaScript (0)
    • Computer Science (12)
      • 디자인패턴, 프로그래밍 패러다임 (1)
      • 네트워크 (4)
      • 운영체제 (4)
      • 데이터베이스 (3)
      • 자료구조 (0)
    • 알고리즘 (1)
    • 프로그래머스 (13)
    • 백준 (94)
    • 서평 (3)
    • 회고 (1)
    • TIL (58)
    • 기타 (1)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 클린코드
  • 라즈베리파이4 #홈서버 #포트포워딩 #dhcp
  • TDD
  • 넥스트스텝
  • Java

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ahlight

개발 저장소

백준

백준 11399번 자바

2023. 1. 10. 21:00

문제

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

 

11399번: ATM

첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000)

www.acmicpc.net

1. 삽입정렬을 이용해 문제를 해결했다.

삽입정렬이란 예를들어 아래 파란식 글씨 부분들이 정렬된 부분이고, 빨간색 글씨부분이 현재 인덱스일때 현재 인덱스의 값을 정렬된부분에 삽입을 하는 것이다.

1 2 3 4 5
13 15 12 17 16

12는 13보다 작은 수이기때문에 가장 앞에 삽입되고 나머지 값들은 한칸씩 뒤로 이동이 된다.

3 1 2 4 5
12 13 15 17 16

값이 한칸씩 뒤로 밀려 저장되는 것만 주의하면 크게 어렵지 않다.

 

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main11399 {

	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		int N = Integer.parseInt(br.readLine());
		int[] P = new int[N];
		int sum = 0;
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		for (int i=0; i<P.length; i++) {
			P[i] = Integer.parseInt(st.nextToken());
		}
		
		for (int i=1; i<N; i++) {
			for (int j=0; j<i; j++) {
				if (P[i] < P[j]) {
					int temp = P[i];
					
					for (int k=i-1; k>=j; k--) {
						P[k+1] = P[k];
					}
					
					P[j] = temp;
					break;
				}
			}
		}
		
		for (int i=1; i<N; i++) {
			P[i] = P[i] + P[i-1];
			sum += P[i];
		}
		
		System.out.println(sum + P[0]);
	}
}

 

정리 : 푸는 방법은 여러가지겠지만 삽입정렬에 대해 공부한다는 마음으로 구현을 했다. 이전까지는 정렬관련된 문제를 많이 풀어보지 않았는데 이번 기회에 정렬쪽을 확실하게 공부하고 가야겠다.

'백준' 카테고리의 다른 글

백준 2751번 자바  (0) 2023.01.19
백준 11004번 자바 ☆  (0) 2023.01.17
백준 1427번 자바  (0) 2023.01.09
백준 1377번 자바  (0) 2023.01.07
백준 2164번 자바  (0) 2023.01.06
    '백준' 카테고리의 다른 글
    • 백준 2751번 자바
    • 백준 11004번 자바 ☆
    • 백준 1427번 자바
    • 백준 1377번 자바
    ahlight
    ahlight

    티스토리툴바