문제 링크
swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV18GHd6IskCFAZN#none
C++ 풀이
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int T;
cin >> T;
for (int i = 1; i <= T; i++) {
int K;
cin >> K;
string word;
vector <string> words;
cin >> word;
int wordSize = word.length();
for (int i = 0; i < wordSize; i++)
words.emplace_back(word.substr(i, wordSize - i));
sort(words.begin(), words.end());
if (K > wordSize)
cout << "#" << i << " none\n";
else
cout << "#" << i << " " << words[K - 1] << "\n";
}
return 0;
}
벡터에 원소 삽입 시 push_back 외에 emplace_back이 있다는 것과, 그 둘의 차이점을 배웠다.
반응형
'알고리즘 · 코딩' 카테고리의 다른 글
[SWEA 1289] 원재의 메모리 복구하기 (0) | 2021.01.04 |
---|---|
[프로그래머스] 보석 쇼핑 (0) | 2021.01.02 |
[SWEA 1247] 최적 경로 (0) | 2020.12.30 |
[SWEA 7701] 염라대왕의 이름 정렬 (0) | 2020.12.28 |
[SWEA 3143] 가장 빠른 문자열 타이핑 (0) | 2020.12.26 |