๋ฌธ์
์ฝ๋
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(string number, int k) {
string answer = "";
int index = 0;
for(int i=0; i<number.length()-k; i++){
int max_val = 0;
for(int j=index; j<=k+i; j++){
if(number[j]=='9'){ // 10๋ฒ ํ
์ผ๊ฐ ์๋นํ ๋นจ๋ผ์ง๋ค.
max_val = number[j]-'0';
index = j+1;
break;
}
if(number[j]-'0'>max_val){
max_val = number[j]-'0';
index = j+1;
}
}
answer+=to_string(max_val);
}
return answer;
}
ํ์ด
๋ฌธ์ ์ดํด๋ ์ฌ์ ๋๋ฐ ์ ๋ ์๋นํ ์ค๋ ๊ฑธ๋ ธ๋ ๋ฌธ์ ์์ต๋๋ค. k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ๋ค๋ ๋ง์ ๊ฒฐ๊ตญ (์ด๋ค ์ - k๊ฐ์ ์) ์๋ฆฌ๋ฅผ ๊ฐ์ง ์ซ์๋ฅผ ๋ง๋ค์ด ๋ด์ผ ํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
- ๋ฐ๋ผ์ ์ฒ์ for๋ฌธ์ number.length() - k ๋งํผ ๋์์ค๋๋ค.
- ๋ ๋ฒ์งธ for๋ฌธ์ ์กฐ๊ฑด์ด ์๋นํ ์ด๋ ค์ด๋ฐ int j= index; j<=k+i; j++๋ผ๊ณ ์ฃผ๊ฒ ๋๋ฉด ์ ค ์ฒ์์ 0 <k ๋งํผ ๋๊ฒ ๋๊ณ ์ด๊ฒ์ ๊ณง ์ด๋ป๊ฒ๋ (number.length() - k) ์๋ฆฟ์์ ์๋ฅผ ๋ง๋ ๋ค๋ ๊ฒ์ ๋ณด์ฅํ๊ฒ ๋ฉ๋๋ค.
- if(number[j]=='9') ๋ฌธ์ฅ์ ์์ด ๋๋ ค๋ ํต๊ณผ๊ฐ ๋์ง๋ง ํ ์คํธ ์ผ์ด์ค 10๋ฒ์ ๊ฒฝ์ฐ์์ ์๋์ ์ผ๋ก ๋๋ ค์ง๋๋ค.
'Algorithm ๐ง๐ปโ๐ป > ํ๋ก๊ทธ๋๋จธ์ค(Programmers)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ(Level 2) (0) | 2022.04.26 |
---|---|
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๊ตฌ๋ช ๋ณดํธ(Level 2) (0) | 2022.04.25 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ซ์์ ํํ(Level 2) (0) | 2022.04.24 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๊ดํธ ํ์ ํ๊ธฐ(Level 2) (0) | 2022.04.19 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ์ ๋ ฅ๋ง์ ๋๋ก ๋๋๊ธฐ(Level 2) (0) | 2022.04.18 |
[c++] ํ๋ก๊ทธ๋๋จธ์ค - ๋ค์ ํฐ ์ซ์(Level 2) (0) | 2022.04.18 |
๋๊ธ