알고리즘 공부/C++

백준 5054번 주차의 신 C++

마달랭 2024. 7. 15. 00:05
반응형

리뷰

첫C++ 정렬 문제였다.

 

문제 풀이

  1. 상점의 위치를 벡터의 인자로 받아준다. 입력받은 벡터를 오름차순으로 정렬해 준다.
  2. 가장 주차하기 좋은 장소는 첫번째 상점의 위치이다. 첫번째 상점부터 벡터의 요소까지의 거리를 계산해 준다.
  3. 모든 거리를 더해준 후 마지막으로 차로 돌아오는 거리를 계산해 준다.
  4. 모든 거리 합을 출력해 주면 된다.

 

참고 사항

내림 차순으로 정렬해도 상관 없을듯 하다.

 

 

정답 코드

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main() {
	int t, n, i, j, num;
	cin >> t;
	for (i = 0; i < t; i++) {
		cin >> n;
		vector<int> lst;
		for (j = 0; j < n; j++) {
			cin >> num;
			lst.push_back(num);
		}
		int ans = 0;
		int start = lst[0];
		int cur = start;
		sort(lst.begin(), lst.end());
		for (j = 0; j < n; j++) {
			ans += abs(cur - lst[j]);
			cur = lst[j];
		}
		ans += cur - start;
		cout << ans << "\n";
	}
}

 

 

728x90
반응형

'알고리즘 공부 > C++' 카테고리의 다른 글

백준 30802번 웰컴 키트 C++  (1) 2024.07.15
백준 2822번 점수 계산 C++  (3) 2024.07.15
백준 1292번 쉽게 푸는 문제 C++  (0) 2024.07.14
백준 2953번 나는 요리사다 C++  (0) 2024.07.14
백준 2592번 대표값 C++  (0) 2024.07.14