※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※

 

이번에 볼 문제는 백준 5054번 문제인 주차의 신이다.
문제는 아래 링크를 확인하자.

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

 

5054번: 주차의 신

첫째 줄에 테스트 케이스의 개수 t가 주어진다. (1 ≤ t ≤ 100) 모든 테스트 케이스는 두 줄로 이루어져 있다. 첫째 줄에는 선영이가 방문할 상점의 수 n이 주어지며 (1 ≤ n ≤ 20), 둘째 줄에는 상점

www.acmicpc.net

어디에 주차하더라도 가장 왼쪽 상점과 가장 오른쪽 상점을 들러야 한다는 점에 주목해보자.

최단거리로 모든 상점을 들리려면 ((가장 오른쪽 상점) - (가장 왼쪽 상점)) * 2의 거리만큼을 걸어야 한다는 하다는 것을 알 수 있다.

 

아래는 제출한 소스코드이다.

#include <iostream>
using namespace std;

int main() {
	ios::sync_with_stdio(0);
	cin.tie(0);

	int T; cin >> T;
	while (T--) {
		int N; cin >> N;
		int mx = 0, mn = 100;
		while (N--) {
			int x; cin >> x;
			if (x > mx) mx = x;
			if (x < mn) mn = x;
		}
		cout << (mx - mn) * 2 << '\n';
	}
}
728x90

'BOJ' 카테고리의 다른 글

[BOJ 1208 // C++] 부분수열의 합 2  (0) 2021.06.03
[BOJ 1593 // C++] 문자 해독  (0) 2021.06.02
[BOJ 10807 // C++] 개수 세기  (0) 2021.06.01
[BOJ 11098 // C++] 첼시를 도와줘!  (0) 2021.06.01
[BOJ 14624 // C++] 전북대학교  (0) 2021.06.01

+ Recent posts