![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/tOae1/btsGeL9age5/CaNSH7ilBtEjgnQhtckjFk/img.png)
이렇게 짜니 시간초과가 나왔다...(너무 생각없이 짜긴 했다.) 지금 보니 stack이 아닌 queue 형태의 코드이다. 좀 더 생각해보니, queue 방식을 이요해서 써야할 것 같다. 좀 더 검색해봤다. "조세퍼스 문제(Josephus problem)"와 유사한데, 여기서는 각 단계마다 첫 번째 요소를 제거하고 두 번째 요소를 큐의 끝으로 이동시키는 과정을 반복한다. 이러한 패턴을 고려할 때, n이 주어졌을 때 마지막에 남는 요소를 직접 계산할 수 있는 수학적 공식을 적용할 수 있다. 하지만 이 경우에는 단순히 마지막에 남는 요소를 찾는 것이므로, 더 간단한 방식을 사용할 수 있다. 마지막에 남는 요소는 2의 거듭제곱으로 n을 초과하지 않는 최대값과 n 사이의 관계로 표현될 수 있다. 예를 들어, n=..
![](http://i1.daumcdn.net/thumb/C148x148/?fname=https://blog.kakaocdn.net/dn/br5KQ3/btsGdrRkjC3/O1Asck1rIp6xKi3ssiIr10/img.png)
Abstract time sereis forecasting은 다른 분야와 다르게 고유의 task와 응용이 요구되는 사안이 많다. Data sparsity(데이터 분포도)가 주요 이유로 꼽힌다. 최근 연구에서는 LLM이 pattern 인식과 token들의 sequence 인식을 잘 할 수 있다는 연구가 나왔다. 이를 고려하여 TIME-LLM을 제시했다. LLM을 변형시킨 것으로, 일반적 time series forecasting에 사용되며, backbone LM은 그대로 유지한 채 구조를 재구성한 것이다. LLM에 처음 input으로 넣기 전에 input time series을 가공해서 집어 넣도록 했다. LLM 특성상 prompting이 정말 중요하기 때문이다. 이 augmentation에 Prompt-..