profile image

L o a d i n g . . .

반응형

코드

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

int main(void)
{
	int s, n, i, j, temp, idx;
	cin >> s;
	cin >> n;
	vector<int> vSize(s);
	vector<int> vNumber(n);

	for (i = 0; i < n; ++i)
	{
		cin >> vNumber[i];
		idx = 0;
		temp = 0;

		for (j = 0; j < s; ++j)
		{
			if (vNumber[i] != vSize[j]) continue;
			idx = j;
			temp = vSize[j];
			break;
		}
		// 현재 vSize에 있는지 체크, 해당 인덱스 가지고 있어야 함
		if(idx != 0)
		{
			// 맨앞으로 꺼내오기
			for (j = idx - 1; j >= 0; --j)
			{
				vSize[j + 1] = vSize[j];
			}
			vSize[j + 1] = temp;
		}
		// 없다면
		else
		{
			// 맨 앞에 추가하고 한칸씩 밀기
			for (j = s - 1; j > 0; --j)
			{
				vSize[j] = vSize[j - 1];
			}
			vSize[0] = vNumber[i];
		}
	}

	for (i = 0; i < s; ++i)
		cout << vSize[i] << " ";

	return 0;
}

 

출력 결과

 

채점 결과

 

 

해당 포스트는 'it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비' 강의를 수강하며 개인 백업용으로 메모하였습니다.

인프런: https://www.inflearn.com/course/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98#

 

it 취업을 위한 알고리즘 문제풀이 (with C/C++) : 코딩테스트 대비 - 인프런

알고리즘과 자료구조를 이용해 문제해결력을 기르는게 주 목적입니다. 초급 취업 ・ 이직 프로그래밍 언어 알고리즘 C++ 알고리즘 코딩 테스트 개발자취업 온라인 강의 알고리즘

www.inflearn.com

반응형
복사했습니다!