문제
구름의 신규 서비스 Arkain (https://arkain.io/ )은 웹 IDE 서비스로, 개발자들이 더 효율적으로 작업할 수 있도록 각종 AI 기능을 제공한다. Arkain에 탑재된 AI 어시스턴트인 Arkain AI는 실시간 코드 제안, 자동 완성, 디버깅 지원 등의 기능을 제공한다. Arkain Snap은 자연어 기반으로 개발 환경을 자동 설정해주는 기능으로, 복잡한 환경 구성 과정을 단축시켜준다. 각각의 개발 환경은 별도의 컨테이너로 관리되며, 다른 사용자와 공유하거나 템플릿으로 재사용이 가능하다.
윤이는 Arkain의 대시보드 UI를 개발하고 있다. 대시보드에는 사용자의 컨테이너 목록이 보이며, 최근 사용 순으로 정렬되어 있다. 즉, 가장 최근에 사용한 컨테이너가 다른 컨테이너보다 위에 보인다.
윤이는 중요한 컨테이너를 고정하는 기능도 추가하려고 한다. 고정된 컨테이너는 최근에 사용하지 않았어도 다른 컨테이너보다 항상 위에 보인다. 고정된 컨테이너가 여러 개라면, 그중에서 더 최근에 사용한 컨테이너가 더 위에 보인다.
사용자가 컨테이너를 사용한 로그와 고정된 컨테이너 목록이 주어질 때, 윤이를 도와서 컨테이너를 순서대로 보여주는 기능을 구현해 보자!
출력
한 줄에 하나씩 컨테이너 이름을 출력한다. 출력 순서는 대시보드에서 컨테이너를 보여주는 순서와 같아야 한다.
예제 출력 1
복사
auth
dashboard
chat
billing
예제 출력 2
복사
logger
email
search
db
노트
C++에서 cout << endl 로 줄바꿈을 출력하는 것이 느릴 수 있으므로, cout << "\n" 을 권장한다.
W3sicHJvYmxlbV9pZCI6IjMzNjkxIiwicHJvYmxlbV9sYW5nIjoiMCIsInRpdGxlIjoiQXJrYWluIFx1YjMwMFx1YzJkY1x1YmNmNFx1YjRkYyIsImRlc2NyaXB0aW9uIjoiPHA+XHVhZDZjXHViOTg0XHVjNzU4IFx1YzJlMFx1YWRkYyBcdWMxMWNcdWJlNDRcdWMyYTQgQXJrYWluICg8YSBocmVmPVwiaHR0cHM6XC9cL2Fya2Fpbi5pb1wvXCI+aHR0cHM6XC9cL2Fya2Fpbi5pb1wvPFwvYT4pXHVjNzQwIFx1YzZmOSBJREUgXHVjMTFjXHViZTQ0XHVjMmE0XHViODVjLCBcdWFjMWNcdWJjMWNcdWM3OTBcdWI0ZTRcdWM3NzQgXHViMzU0IFx1ZDZhOFx1YzcyOFx1YzgwMVx1YzczY1x1Yjg1YyBcdWM3OTFcdWM1YzVcdWQ1NjAgXHVjMjE4IFx1Yzc4OFx1YjNjNFx1Yjg1ZCBcdWFjMDFcdWM4ODUgQUkgXHVhZTMwXHViMmE1XHVjNzQ0IFx1YzgxY1x1YWNmNVx1ZDU1Y1x1YjJlNC4gQXJrYWluXHVjNWQwIFx1ZDBkMVx1YzdhY1x1YjQxYyBBSSBcdWM1YjRcdWMyZGNcdWMyYTRcdWQxMzRcdWQyYjhcdWM3NzggQXJrYWluIEFJXHViMjk0IFx1YzJlNFx1YzJkY1x1YWMwNCBcdWNmNTRcdWI0ZGMgXHVjODFjXHVjNTQ4LCBcdWM3OTBcdWIzZDkgXHVjNjQ0XHVjMTMxLCBcdWI1MTRcdWJjODRcdWFlNDUgXHVjOWMwXHVjNmQwIFx1YjRmMVx1Yzc1OCBcdWFlMzBcdWIyYTVcdWM3NDQgXHVjODFjXHVhY2Y1XHVkNTVjXHViMmU0LiBBcmthaW4gU25hcFx1Yzc0MCBcdWM3OTBcdWM1ZjBcdWM1YjQgXHVhZTMwXHViYzE4XHVjNzNjXHViODVjIFx1YWMxY1x1YmMxYyBcdWQ2NThcdWFjYmRcdWM3NDQgXHVjNzkwXHViM2Q5IFx1YzEyNFx1YzgxNVx1ZDU3NFx1YzhmY1x1YjI5NCBcdWFlMzBcdWIyYTVcdWM3M2NcdWI4NWMsIFx1YmNmNVx1YzdhMVx1ZDU1YyBcdWQ2NThcdWFjYmQgXHVhZDZjXHVjMTMxIFx1YWNmY1x1YzgxNVx1Yzc0NCBcdWIyZThcdWNkOTVcdWMyZGNcdWNmMWNcdWM5MDBcdWIyZTQuIFx1YWMwMVx1YWMwMVx1Yzc1OCBcdWFjMWNcdWJjMWMgXHVkNjU4XHVhY2JkXHVjNzQwIFx1YmNjNFx1YjNjNFx1Yzc1OCBcdWNlZThcdWQxNGNcdWM3NzRcdWIxMDhcdWI4NWMgXHVhZDAwXHViOWFjXHViNDE4XHViYTcwLCBcdWIyZTRcdWI5NzggXHVjMGFjXHVjNmE5XHVjNzkwXHVjNjQwIFx1YWNmNVx1YzcyMFx1ZDU1OFx1YWM3MFx1YjA5OCBcdWQxNWNcdWQ1MGNcdWI5YmZcdWM3M2NcdWI4NWMgXHVjN2FjXHVjMGFjXHVjNmE5XHVjNzc0IFx1YWMwMFx1YjJhNVx1ZDU1OFx1YjJlNC48XC9wPlxyXG5cclxuPHA+XHVjNzI0XHVjNzc0XHViMjk0IEFya2Fpblx1Yzc1OCBcdWIzMDBcdWMyZGNcdWJjZjRcdWI0ZGMgVUlcdWI5N2MgXHVhYzFjXHViYzFjXHVkNTU4XHVhY2UwIFx1Yzc4OFx1YjJlNC4gXHViMzAwXHVjMmRjXHViY2Y0XHViNGRjXHVjNWQwXHViMjk0IFx1YzBhY1x1YzZhOVx1Yzc5MFx1Yzc1OCBcdWNlZThcdWQxNGNcdWM3NzRcdWIxMDggXHViYWE5XHViODVkXHVjNzc0IFx1YmNmNFx1Yzc3NFx1YmE3MCwgXHVjZDVjXHVhZGZjIFx1YzBhY1x1YzZhOSBcdWMyMWNcdWM3M2NcdWI4NWMgXHVjODE1XHViODJjXHViNDE4XHVjNWI0IFx1Yzc4OFx1YjJlNC4gXHVjOTg5LCBcdWFjMDBcdWM3YTUgXHVjZDVjXHVhZGZjXHVjNWQwIFx1YzBhY1x1YzZhOVx1ZDU1YyBcdWNlZThcdWQxNGNcdWM3NzRcdWIxMDhcdWFjMDAgXHViMmU0XHViOTc4IFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOFx1YmNmNFx1YjJlNCBcdWM3MDRcdWM1ZDAgXHViY2Y0XHVjNzc4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM3MjRcdWM3NzRcdWIyOTQgXHVjOTExXHVjNjk0XHVkNTVjIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOFx1Yjk3YyBcdWFjZTBcdWM4MTVcdWQ1NThcdWIyOTQgXHVhZTMwXHViMmE1XHViM2M0IFx1Y2Q5NFx1YWMwMFx1ZDU1OFx1YjgyNFx1YWNlMCBcdWQ1NWNcdWIyZTQuIFx1YWNlMFx1YzgxNVx1YjQxYyBcdWNlZThcdWQxNGNcdWM3NzRcdWIxMDhcdWIyOTQgXHVjZDVjXHVhZGZjXHVjNWQwIFx1YzBhY1x1YzZhOVx1ZDU1OFx1YzljMCBcdWM1NGFcdWM1NThcdWM1YjRcdWIzYzQgXHViMmU0XHViOTc4IFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOFx1YmNmNFx1YjJlNCBcdWQ1NmRcdWMwYzEgXHVjNzA0XHVjNWQwIFx1YmNmNFx1Yzc3OFx1YjJlNC4gXHVhY2UwXHVjODE1XHViNDFjIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOFx1YWMwMCBcdWM1ZWNcdWI3ZWMgXHVhYzFjXHViNzdjXHViYTc0LCBcdWFkZjhcdWM5MTFcdWM1ZDBcdWMxMWMgXHViMzU0IFx1Y2Q1Y1x1YWRmY1x1YzVkMCBcdWMwYWNcdWM2YTlcdWQ1NWMgXHVjZWU4XHVkMTRjXHVjNzc0XHViMTA4XHVhYzAwIFx1YjM1NCBcdWM3MDRcdWM1ZDAgXHViY2Y0XHVjNzc4XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWMwYWNcdWM2YTlcdWM3OTBcdWFjMDAgXHVjZWU4XHVkMTRjXHVjNzc0XHViMTA4XHViOTdjIFx1YzBhY1x1YzZhOVx1ZDU1YyBcdWI4NWNcdWFkZjhcdWM2NDAgXHVhY2UwXHVjODE1XHViNDFjIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOCBcdWJhYTlcdWI4NWRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM4IFx1YjU0YywgXHVjNzI0XHVjNzc0XHViOTdjIFx1YjNjNFx1YzY0MFx1YzExYyBcdWNlZThcdWQxNGNcdWM3NzRcdWIxMDhcdWI5N2MgXHVjMjFjXHVjMTFjXHViMzAwXHViODVjIFx1YmNmNFx1YzVlY1x1YzhmY1x1YjI5NCBcdWFlMzBcdWIyYTVcdWM3NDQgXHVhZDZjXHVkNjA0XHVkNTc0IFx1YmNmNFx1Yzc5MCE8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlx1Y2NhYlx1YzlmOCBcdWM5MDRcdWM1ZDAgXHVjZWU4XHVkMTRjXHVjNzc0XHViMTA4IFx1YzBhY1x1YzZhOSBcdWI4NWNcdWFkZjhcdWM3NTggXHVhYzFjXHVjMjE4ICROJFx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICQoMSBcXGxlIE4gXFxsZSAxMDBcXCwwMDApJDxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgJE4kXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMCBcdWI4NWNcdWFkZjhcdWM1ZDAgXHVjODAxXHVkNzhjIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOCBcdWM3NzRcdWI5ODRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWI4NWNcdWFkZjhcdWM3NTggXHVjMGFjXHVjNmE5IFx1YzJkY1x1YWMwMVx1Yzc3NCBcdWM5OWRcdWFjMDBcdWQ1NThcdWIyOTQgXHVjMjFjXHVjMTFjXHViODVjIFx1YzhmY1x1YzViNFx1YzljMFx1YmE3MCwgXHVhYzE5XHVjNzQwIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOFx1Yjk3YyBcdWMwYWNcdWM2YTlcdWQ1NWMgXHViODVjXHVhZGY4XHVhYzAwIFx1YzVlY1x1YjdlYyBcdWFjMWMgXHVjODc0XHVjN2FjXHVkNTYwIFx1YzIxOCBcdWM3ODhcdWIyZTQuIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOCBcdWM3NzRcdWI5ODRcdWM3NDAgXHVjNTRjXHVkMzBjXHViY2IzIFx1YzE4Y1x1YmIzOFx1Yzc5MFx1Yjg1YyBcdWM3NzRcdWI4ZThcdWM1YjRcdWM5YzQgXHVhZTM4XHVjNzc0ICQxJCBcdWM3NzRcdWMwYzEgJDEwJCBcdWM3NzRcdWQ1NThcdWM3NTggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWIyZTRcdWM3NGMgXHVjOTA0XHVjNWQwIFx1YWNlMFx1YzgxNVx1YjQxYyBcdWNlZThcdWQxNGNcdWM3NzRcdWIxMDhcdWM3NTggXHVhYzFjXHVjMjE4ICRLJFx1YWMwMCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuICQoMCBcXGxlIEsgXFxsZSBOKSQ8XC9wPlxyXG5cclxuPHA+XHViMmU0XHVjNzRjICRLJFx1YWMxY1x1Yzc1OCBcdWM5MDRcdWM1ZDAgXHVhY2UwXHVjODE1XHViNDFjIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOCBcdWM3NzRcdWI5ODRcdWM3NzQgXHVjOGZjXHVjNWI0XHVjOWM0XHViMmU0LiBcdWM4ZmNcdWM1YjRcdWM5YzBcdWIyOTQgXHVhY2UwXHVjODE1XHViNDFjIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOCBcdWM3NzRcdWI5ODRcdWM3NDAgXHVjMTFjXHViODVjIFx1YjJlNFx1Yjk3NFx1YmE3MCwgXHVhYzAxIFx1Y2VlOFx1ZDE0Y1x1Yzc3NFx1YjEwOFx1YzVkMFx1YjI5NCBcdWM4MDFcdWM1YjRcdWIzYzQgXHVkNTU4XHViMDk4XHVjNzU4IFx1YzBhY1x1YzZhOSBcdWI4NWNcdWFkZjhcdWFjMDAgXHVjODc0XHVjN2FjXHVkNTY4XHVjNzc0IFx1YmNmNFx1YzdhNVx1YjQxY1x1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWQ1NWMgXHVjOTA0XHVjNWQwIFx1ZDU1OFx1YjA5OFx1YzUyOSBcdWNlZThcdWQxNGNcdWM3NzRcdWIxMDggXHVjNzc0XHViOTg0XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1Y1x1YjJlNC4gXHVjZDljXHViODI1IFx1YzIxY1x1YzExY1x1YjI5NCBcdWIzMDBcdWMyZGNcdWJjZjRcdWI0ZGNcdWM1ZDBcdWMxMWMgXHVjZWU4XHVkMTRjXHVjNzc0XHViMTA4XHViOTdjIFx1YmNmNFx1YzVlY1x1YzhmY1x1YjI5NCBcdWMyMWNcdWMxMWNcdWM2NDAgXHVhYzE5XHVjNTQ0XHVjNTdjIFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiPHA+QysrXHVjNWQwXHVjMTFjIDxjb2RlPmNvdXQgJmx0OyZsdDsgZW5kbDxcL2NvZGU+IFx1Yjg1YyBcdWM5MDRcdWJjMTRcdWFmYzhcdWM3NDQgXHVjZDljXHViODI1XHVkNTU4XHViMjk0IFx1YWM4M1x1Yzc3NCBcdWIyOTBcdWI5YjQgXHVjMjE4IFx1Yzc4OFx1YzczY1x1YmJjMFx1Yjg1YywgPGNvZGU+Y291dCAmbHQ7Jmx0OyAmcXVvdDtcXG4mcXVvdDs8XC9jb2RlPiBcdWM3NDQgXHVhZDhjXHVjN2E1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsIm9yaWdpbmFsIjoiMSIsImh0bWxfdGl0bGUiOiIwIiwicHJvYmxlbV9sYW5nX3Rjb2RlIjoiS29yZWFuIn0seyJwcm9ibGVtX2lkIjoiMzM2OTEiLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJBcmthaW4gRGFzaGJvYXJkIiwiZGVzY3JpcHRpb24iOiI8cD5BcmthaW4gKDxhIGhyZWY9XCJodHRwczpcL1wvYXJrYWluLmlvXC9cIj5odHRwczpcL1wvYXJrYWluLmlvXC88XC9hPiksIGEgbmV3IHNlcnZpY2UgYnkgZ29vcm0sIGlzIGEgd2ViLWJhc2VkIElERSB0aGF0IHByb3ZpZGVzIHZhcmlvdXMgQUkgZmVhdHVyZXMgdG8gZW5oYW5jZSBzb2Z0d2FyZSBkZXZlbG9wbWVudCBwcm9jZXNzLiBJdHMgYnVpbHQtaW4gYXNzaXN0YW50LCBBcmthaW4gQUksIG9mZmVycyByZWFsLXRpbWUgY29kZSBzdWdnZXN0aW9ucywgYXV0b2NvbXBsZXRpb24sIGFuZCBkZWJ1Z2dpbmcgc3VwcG9ydC4gQXJrYWluIFNuYXAgYWxsb3dzIHVzZXJzIHRvIHNldCB1cCBkZXZlbG9wbWVudCBlbnZpcm9ubWVudHMgYXV0b21hdGljYWxseSB1c2luZyBuYXR1cmFsIGxhbmd1YWdlLCBzaWduaWZpY2FudGx5IHJlZHVjaW5nIHRoZSBjb21wbGV4aXR5IG9mIGNvbmZpZ3VyYXRpb24uIEVhY2ggZGV2ZWxvcG1lbnQgZW52aXJvbm1lbnQgaXMgbWFuYWdlZCBpbiBpdHMgb3duIGNvbnRhaW5lciwgd2hpY2ggY2FuIGJlIHNoYXJlZCB3aXRoIG90aGVycyBvciByZXVzZWQgYXMgYSB0ZW1wbGF0ZS48XC9wPlxyXG5cclxuPHA+WXVuZWUgaXMgZGV2ZWxvcGluZyB0aGUgZGFzaGJvYXJkIFVJIGZvciBBcmthaW4uIFRoZSBkYXNoYm9hcmQgZGlzcGxheXMgYSBsaXN0IG9mIHRoZSB1c2VyJiMzOTtzIGNvbnRhaW5lcnMsIHNvcnRlZCBieSByZWNlbnQgdXNhZ2UuIFRoZSBtb3N0IHJlY2VudGx5IHVzZWQgY29udGFpbmVyIGFwcGVhcnMgYXQgdGhlIHRvcC48XC9wPlxyXG5cclxuPHA+WXVuZWUgYWxzbyBwbGFucyB0byBhZGQgYSBmZWF0dXJlIHRvIHBpbiBpbXBvcnRhbnQgY29udGFpbmVycy4gUGlubmVkIGNvbnRhaW5lcnMgc2hvdWxkIGFsd2F5cyBhcHBlYXIgYWJvdmUgb3RoZXJzLCBldmVuIGlmIHRoZXkgaGF2ZW4mIzM5O3QgYmVlbiB1c2VkIHJlY2VudGx5LiBBbW9uZyBwaW5uZWQgY29udGFpbmVycywgdGhlIG1vcmUgcmVjZW50bHkgdXNlZCBvbmVzIHNob3VsZCBjb21lIGZpcnN0LjxcL3A+XHJcblxyXG48cD5HaXZlbiBjb250YWluZXIgdXNhZ2UgbG9ncyBhbmQgYSBsaXN0IG9mIHBpbm5lZCBjb250YWluZXJzLCBsZXQmIzM5O3MgaGVscCBZdW5lZSBpbXBsZW1lbnQgdGhlIGZlYXR1cmUgdG8gZGlzcGxheSB0aGUgY29udGFpbmVycyBpbiB0aGUgY29ycmVjdCBvcmRlciE8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIGFuIGludGVnZXIgJE4kLCB0aGUgbnVtYmVyIG9mIGNvbnRhaW5lciB1c2FnZSBsb2dzLiAkKDEgXFxsZSBOIFxcbGUgMTAwXFwsMDAwKSQ8XC9wPlxyXG5cclxuPHA+RWFjaCBvZiB0aGUgbmV4dCAkTiQgbGluZXMgY29udGFpbnMgdGhlIG5hbWUgb2YgYSBjb250YWluZXIgcmVjb3JkZWQgaW4gdGhlIGxvZ3MuIFRoZSBsb2dzIGFyZSBnaXZlbiBpbiBpbmNyZWFzaW5nIG9yZGVyIG9mIHVzYWdlIHRpbWUsIGFuZCB0aGUgc2FtZSBjb250YWluZXIgbWF5IGFwcGVhciBtdWx0aXBsZSB0aW1lcy4gRWFjaCBjb250YWluZXIgbmFtZSBpcyBhIG5vbmVtcHR5IHN0cmluZyBvZiBsb3dlcmNhc2UgYWxwaGFiZXRzIHVwIHRvICQxMCQgY2hhcmFjdGVycyBsb25nLjxcL3A+XHJcblxyXG48cD5UaGUgbmV4dCBsaW5lIGNvbnRhaW5zIGFuIGludGVnZXIgJEskLCB0aGUgbnVtYmVyIG9mIHBpbm5lZCBjb250YWluZXJzLiAkKDAgXFxsZSBLIFxcbGUgTikkPFwvcD5cclxuXHJcbjxwPkVhY2ggb2YgdGhlIG5leHQgJEskIGxpbmVzIGNvbnRhaW5zIHRoZSBuYW1lIG9mIGEgcGlubmVkIGNvbnRhaW5lci4gQWxsIHBpbm5lZCBjb250YWluZXIgbmFtZXMgYXJlIGRpc3RpbmN0LCBhbmQgZWFjaCBpcyBndWFyYW50ZWVkIHRvIGFwcGVhciBhdCBsZWFzdCBvbmNlIGluIHRoZSB1c2FnZSBsb2dzLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPlByaW50IHRoZSBjb250YWluZXIgbmFtZXMsIG9uZSBwZXIgbGluZS4gVGhlIG91dHB1dCBvcmRlciBtdXN0IG1hdGNoIHRoZSBvcmRlciBpbiB3aGljaCBjb250YWluZXJzIGFyZSBkaXNwbGF5ZWQgb24gdGhlIGRhc2hib2FyZC48XC9wPlxyXG4iLCJoaW50IjoiPHA+SW4gQysrLCB1c2luZyA8Y29kZT5jb3V0ICZsdDsmbHQ7IGVuZGw8XC9jb2RlPiB0byBvdXRwdXQgbmV3bGluZXMgY2FuIGJlIHNsb3csIHNvIDxjb2RlPmNvdXQgJmx0OyZsdDsgJnF1b3Q7XFxuJnF1b3Q7PFwvY29kZT4mbmJzcDtpcyByZWNvbW1lbmRlZC48XC9wPlxyXG4iLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=