Post

[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.