문제 설명
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문을 사용한다면 쉽게 해결할 수 있다.
'PS > CodeUp' 카테고리의 다른 글
CodeUp / 1차원 배열 / 1430번 / 기억력 테스트2 / C++ (0) | 2020.10.03 |
---|---|
CodeUp / 1차원 배열 / 1425번 / 자리 배치 / C++ (0) | 2020.10.03 |
CodeUp / 1차원 배열(?) / 1420번 / 3등 찾기 / C++ (0) | 2020.10.03 |
CodeUp / 1차원 배열 / 1416번 / 2진수 변환 / C++ (0) | 2020.10.03 |