-
카테고리
-
세부 분야
알고리즘 · 자료구조
-
해결 여부
미해결
배열의 처음부터 접근해도 괜찮을까요?
22.05.08 23:00 작성 조회수 154
0
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <vector>
#include <algorithm>
int main()
{
freopen("input.txt", "rt", stdin);
int cacheSize, tasks;
scanf("%d %d", &cacheSize, &tasks);
std::vector<int> cacheList(cacheSize, 0);
int i = 0;
for (int task = 0; task < tasks; task++)
{
if (i != cacheSize-1)
{
i++;
}
int k;
int input;
int pos = 0;
scanf("%d", &input);
// Hit 위치를 찾아낸다.
for (k = 0; k <= i; k++)
{
if (cacheList[k] == input)
{
pos = k;
}
}
// Hit가 없으면
if (pos == 0)
{
for (k = i - 1; k >= 0; k--)
{
cacheList[k + 1] = cacheList[k];
}
}
else
{
for (k = pos - 1; k >= 0; k--)
{
cacheList[k + 1] = cacheList[k];
}
}
cacheList[k + 1] = input;
}
for (int i = 0; i < cacheSize; i++)
{
printf("%d ", cacheList[i]);
}
return 0;
}
반복횟수를 줄여보고자 첫 인덱스부터 접근했보았습니다.
괜찮은 코드일까요?
답변을 작성해보세요.
1
답변 1