PS/CodeUp

CodeUp / 1차원 배열 / 1440번 / 비교 / C++

KimMinJun 2020. 10. 3. 18:08

문제 설명   

n개의 숫자가 입력되면, 다음과 같이 크기를 비교한 후 양식에 맞춰 출력하시오.

 

예를 들어, 1 2 3 2 1 이라는 숫자가 입력되면,

첫 번째 1과 나머지 2, 3, 2, 1을 비교하면 1 < 2,  1 < 3, 1 < 2, 1 = 1 이므로 < < < = 를 출력한다.

두 번째 2와 나머지 1, 3, 2, 1을 비교하면 2 > 1, 2 < 3, 2 = 2, 2 > 1 이므로 > < = > 를 출력한다.

세 번째 3과 나머지 1, 2, 2, 1을 비교하면 3 > 1, 3 > 2, 3 > 2, 3 > 1 이므로 > > > > 를 출력한다.

같은 방법으로 네 번째는 > = < >, 다섯번째는 = < < < 를 출력한다.

 

이와 같은 방식의 대소 비교 결과를 출력하시오.

 

입력

첫째 줄에 숫자의 개수 n이 입력된다. ( 2 <= n <= 1000)

다음 줄에 n개의 숫자 k가 공백으로 입력된다.( k는 int범위)

 

출력

샘플 출력 양식에 맞추어 비교 결과를 출력한다.

 

입력 예시  

5

1 2 3 2 1

 

출력 예시

1: < < < =

2: > < = >

3: > > > >

4: > = < >

5: = < < <

 

#include <iostream>
#include <vector>
using namespace std;

int main() {
	int n;
	vector<int> v;

	cin >> n;

	for (int i = 0; i < n; i++) {
		int temp;
		cin >> temp;
		v.push_back(temp);
	}

	for (int i = 0; i < v.size(); i++) {
		cout << i + 1 << ": ";
		for (int j = 0; j < v.size(); j++) {
			if (i == j) continue;
			if (v[i] > v[j]) cout << "> ";
			else if (v[i] < v[j]) cout << "< ";
			else if (v[i] == v[j]) cout << "= ";
		}
		cout << endl;
	}
}

 


알고리즘 자체는 단순하다.

다만 자기 자신은 비교안하는 것만 유념하고 continue문을 사용한다면 쉽게 해결할 수 있다.