• 카테고리

    질문 & 답변
  • 세부 분야

    알고리즘 · 자료구조

  • 해결 여부

    해결됨

테스트 케이스 질문

23.02.28 11:20 작성 조회수 205

0

#include <iostream>
#include <vector>

using namespace std;

int main()
{
	freopen("input.txt", "rt", stdin);
	
	int s, n, i, j, tmp, idx;
	scanf("%d%d", &s, &n);
	
	vector<int> a(n);
	
	for (i = 0; i < n; i++)
	{
		scanf("%d", &tmp);
		if(i < s)
			a[s-1-i] = tmp;
		else
		{
			idx = s;
			for (j = 0; j < s; j++)
			{
				if(a[j] == tmp)
				{
					idx = j;
					break;
				}
			}
			
			for (j = idx - 1; j >= 0; j--)
				a[j+1] = a[j];
			a[j+1] = tmp;
		}
	}
	
	for (i = 0; i < s; i++)
		printf("%d ", a[i]);
	
	return 0;
}

이렇게 작성했는데 채점 폴더 전부 통과하는데

만약 입력이

5 5

1 2 2 3 4 이 들어왔다면 출력이

4 3 2 2 1로 출력 되니까 위의 코드는 틀린 코드 같은데 맞나요???

답변 1

답변을 작성해보세요.

1

안녕하세요^^

네. 맞습니다.

위에 입력이라면 4 3 2 1 0 으로 출력되어야 합니다.