카테고리 없음

[백준] 11399 - ATM

TIM_0529 2023. 1. 17. 14:13
반응형
#include <iostream>
#define _CRT_SECURE_NO_WARNINGS
using namespace std;


int main() {
	int a,i=0;
	int arr[1001];
	cin >> a;
	i = a;
	while (i > 0)
	{
		cin >> arr[a-i];
		i--;
	}
	for (int i = 0; i < a; i++)
	{
		for (int j = i; j < a; j++)
		{
			if (arr[i] > arr[j])
			{
				int temp = arr[i];
				arr[i] = arr[j];
				arr[j] = temp;
			}
		}
	}

	int time = 0;
	for (int i = 0; i < a; i++)
	{
		for (int j = 0; j < i+1; j++)
		{
			time += arr[j];
		}
	}

	cout << time;
}

언어 : C++

풀이: 가장 적은 시간부터 배열에 앞으로 두고, 정렬이 완료된 상태에서 각 인덱스까지 걸리는 시간을 합해서 time 변수에 합산하는 방식으로 풀었습니다.

 


다른사람에 코드

#include<stdio.h>
int main(){
	int i,n,j,p[1001],temp,sum=0;
	scanf("%d",&n);
	for(i=0;i<n;i++){
		scanf("%d",&p[i]);
	}
	for(int i=1; i<n;i++){
		for(int j=0; j<n-i; j++){
			if(p[j]>p[j+1]){
				int temp = p[j];
				p[j] = p[j+1];
				p[j+1]=temp;
			}
		}
	}
	for(int i=0; i<n ;i++){
		for(int j=0 ; j<=i ;j++){
			sum+=p[j];
		}
	}
	printf("%d",sum);
}

언어: c

풀이:  for 문으로 입력 받은 후 이중 버블 정렬로 가장 오래 걸리는 시간을 뒤에 저장하는 방법으로 구현하셨고, 정렬된 뒤 시간을 구하는 로직은 같습니다.

반응형