24523 - 내 뒤에 나와 다른 수
2025. 2. 24. 22:04ㆍPS/백준
문제
https://www.acmicpc.net/problem/24523
느낀점
구현 기본 문제, 시간 초과를 해결하는 로직을 생각하는 것이 상당히 까다로웠다.
풀이
#include <iostream>
#include <vector>
using namespace std;
int main()
{
int N;
cin >> N;
vector<int> arr(N);
vector<int> answer(N, -1);
for (int i = 0; i < N; i++)
{
cin >> arr[i];
}
if (N == 1)
{
cout << -1;
return 0;
}
int left = 0, right = 0;
while (true)
{
if (left >= N)
{
break;
}
int ref = arr[left];
while (ref == arr[right])
{
right++;
if (right >= N)
{
break;
}
}
if (right >= N)
{
break;
}
for (int i = left; i < right; i++)
{
answer[i] = right + 1;
}
left = right;
}
for (int i = 0; i < N; i++)
{
cout << answer[i] << " ";
}
return 0;
}
'PS > 백준' 카테고리의 다른 글
6137 - 문자열 생성 (0) | 2025.02.25 |
---|---|
3151 - 합이 0 (0) | 2025.02.25 |
1806 - 부분합 (0) | 2025.02.23 |
1253 - 좋다 (0) | 2025.02.22 |
18114 - 블랙 프라이데이 (0) | 2025.02.19 |