Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 2109. Adding Spaces to a String 본문
728x90
반응형
https://leetcode.com/problems/adding-spaces-to-a-string/description/
leetcode - Adding Spaces to a String
문제 유형: 투 포인터, 문자열 처리
문제 난이도: Medium
문제
You are given a 0-indexed string s and a 0-indexed integer array spaces that describes the indices in the original string where spaces will be added. Each space should be inserted before the character at the given index.
- For example, given s = "EnjoyYourCoffee" and spaces = [5, 9], we place spaces before 'Y' and 'C', which are at indices 5 and 9 respectively. Thus, we obtain "Enjoy Your Coffee".
Return the modified string after the spaces have been added.
0-indexed의 문자열 s와 0-indexed의 정수 배열 spaces가 주어진다.
s에 spaces의 요소들을 인덱스로 하여 공백을 삽입하시오.
풀이
문자열을 새로 만들것이다.
j를 만들어서 spaces를 순회하는 포인터로 쓴다.
순차적으로 s를 읽으면서, 다음을 한다:
만약 현재 인덱스가 spaces[j]라면, j를 한칸 밀고, 새 문자열에 공백을 추가한다.
그러고 s[i]를 추가한다.
최종 문자열을 리턴한다.
코드
C++
class Solution {
public:
string addSpaces(string s, vector<int>& spaces) {
int n = s.size();
int m = spaces.size();
string ans = "";
int j = 0;
for(int i = 0; i < n; ++i) {
if(j < m && i == spaces[j]) {
ans += " ";
j++;
}
ans += s[i];
}
return ans;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 2337. Move Pieces to Obtain a String (0) | 2024.12.05 |
---|---|
[LeetCode] 2825. Make String a Subsequence Using Cyclic Increments (0) | 2024.12.04 |
[LeetCode] 1455. Check If a Word Occurs As a Prefix of Any Word in a Sentence (0) | 2024.12.02 |
[LeetCode] 1346. Check If N and Its Double Exist (0) | 2024.12.01 |
[LeetCode] 2097. Valid Arrangement of Pairs (0) | 2024.11.30 |