[Programmers] 181943번 - 문자열 겹쳐쓰기 [Java][C++]
[Programmers] 181943번 - 문자열 겹쳐쓰기 [Java][C++]
1. 아이디어
my_string을 [0, s) 앞부분과 [s+len, ...) 뒷부분 두 조각으로 보고, 그 사이를 overwrite_string으로 통째로 교체해 이어붙이면 된다.
2. 복잡도
| 시간복잡도 | 공간복잡도 |
|---|---|
| $O(N)$ | $O(1)$ |
$N$ =
my_string길이
3. 코드
풀이 [Java][C++]
1
2
3
4
5
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
return my_string.substring(0, s) + overwrite_string + my_string.substring(s + overwrite_string.length());
}
}
1
2
3
4
5
6
7
#include <string>
using namespace std;
string solution(string my_string, string overwrite_string, int s) {
return my_string.substr(0, s) + overwrite_string + my_string.substr(s + overwrite_string.size());
}
This post is licensed under CC BY 4.0 by the author.