26번 문제
내가 풀이한 답
N명의 선수 중 맨 앞에(Index 0) 있는 선수는 1로 고정이고 그 뒤에 있는 선수들은 Index + 1에 해당하는 수에서 앞의 선수들보다 값이 크다면 하나씩 감소하는 방법으로 코드를 짰다.
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char** argv) {
//freopen("input.txt", "rt", stdin);
int n, i, j, temp=0;
scanf("%d", &n);
int *arr = (int *)malloc(sizeof(int) * n);
for(i=0; i<n; i++){
scanf("%d", &arr[i]);
}
printf("%d ", 1);
for(i=1; i<n; i++){
temp = i+1;
for(j=i-1; j>=0; j--){
if(arr[i] > arr[j]) temp--;
}
printf("%d ", temp);
}
free(arr);
return 0;
}
결과는 통과하였다.
사이트의 답안
#include<stdio.h>
#include<vector>
#include<algorithm>
using namespace std;
int main(){
freopen("input.txt", "rt", stdin);
int i, j, n, cnt=0;
scanf("%d ", &n);
vector<int> a(n+1);
for(i=1; i<=n; i++){
scanf("%d", &a[i]);
}
printf("1 ");
for(i=2; i<=n; i++){
cnt=0;
for(j=i-1; j>=1; j--){
if(a[j]>=a[i]) cnt++;
}
printf("%d ", cnt+1);
}
return 0;
}
사이트의 답은 index + 1이 아닌 0부터 시작하여 증가하였음을 확인하였다.
'알고리즘 & 자료구조 > 기초 다잡기' 카테고리의 다른 글
28. N!에서 0의 개수 (0) | 2020.09.08 |
---|---|
27. N!의 표현법 (0) | 2020.09.08 |
25. 석차 구하기 (0) | 2020.09.08 |
24. Jolly Jumpers (0) | 2020.09.08 |
23. 연속 부분 증가수열 (0) | 2020.09.08 |