본문 바로가기
공부하자/알고리즘

[백준] 11399번 ATM C, java

by snbrin 2021. 12. 30.

c언어로 풀고 java로 바꾸기!!

 

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

 

11399번: ATM

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

www.acmicpc.net

 

C

#include <stdio.h>

int main() {
	int n, temp, result = 0;
	int arr[1001];
    
	scanf("%d", &n);
    
	for(int i=0; i<n; i++) {
		scanf("%d", &arr[i]);
	}
    
	for(int i=0; i<n; i++) {
		for(int j=0; j<n-(i+1); j++) {
			if(arr[j] > arr[j+1]) {
				temp = arr[j];
				arr[j] = arr[j+1];
				arr[j+1] = temp;
			}
		}
	}
    
	for(int i=0; i<n; i++) {
		for(int j=0; j<i+1; j++) {
			result = result + arr[j];
		}
	}
	
	printf("%d", result);
    
    return 0;
}

 

java

package javastd1;

import java.util.Scanner;

public class bj11399 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner scan = new Scanner(System.in);
		
		int temp, result = 0;
		int[] arr = new int[1001];
		int n = scan.nextInt();
		
		for(int i=0; i<n; i++) {
			arr[i] = scan.nextInt();
		}
		
		for(int i=0; i<n; i++) {
			for(int j=0; j<n-(i+1); j++) {
				if(arr[j] > arr[j+1]) {
					temp = arr[j];
					arr[j] = arr[j+1];
					arr[j+1] = temp;
				}
			}
		}
	    
		for(int i=0; i<n; i++) {
			for(int j=0; j<i+1; j++) {
				result = result + arr[j];
			}
		}
		
		System.out.println(result);
		
		scan.close();
	}

}

자바 배열 선언

int[ ] 배열명 = new 타입[길이];

 

정렬 함수 sort 사용하면 더 숏코딩 가능함.