๐ 1. ๋ฌธ์ ์ค๋ช
โญ 2. ์ ๋ต์ฝ๋
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
// ์๋ถ๋ถ๊ณผ ๋ท๋ถ๋ถ์ ์ถ์ถํ ํ overwrite_string์ ์ค๊ฐ์ ์ฝ์
String before = my_string.substring(0, s);
String after = my_string.substring(s + overwrite_string.length());
return before + overwrite_string + after;
}
}
โญ String before = my_string.substring(0, s); ์์ substring(0, s) ๋ฉ์๋๋ ๋ง์ง๋ง ์ธ๋ฑ์ค๋ฅผ ํฌํจํ๋๊ฐ?
Java์์ ๋งค๊ฐ๋ณ์๊ฐ 2๊ฐ์ธ substring ๋ฉ์๋๋ ์์ ์ธ๋ฑ์ค๋ ํฌํจํ์ง๋ง, ๋ ์ธ๋ฑ์ค๋ ํฌํจํ์ง ์๋๋ค.
์ฆ, ์ธ๋ฑ์ค 0๋ถํฐ s-1๊น์ง์ ๋ฌธ์๋ฅผ ํฌํจํ๋ ๋ถ๋ถ ๋ฌธ์์ด์ ๋ฐํํ๋ค.
โญ String after = my_string.substring(s + overwrite_string.length()); ๊ทธ๋ผ ๋ ์ธ๋ฑ์ค ํฌํจ ์ํ๋๊น overwrite_string.length() + 1 ์ด ์๋์ผ?
Java์ substring ๋ฉ์๋์๋ ๋ ๊ฐ์ง ํํ๊ฐ ์๊ณ ๋งค๊ฐ๋ณ์ ๊ฐ์๊ฐ ๋ค๋ฅด๋ค.
1. substring(int beginIndex, int endIndex)
์ฌ๊ธฐ์ beginIndex๋ ํฌํจ๋๊ณ endIndex๋ ํฌํจ๋์ง ์๋๋ค.
์๋ฅผ ๋ค์ด, my_string.substring(0, s)๋ ์ธ๋ฑ์ค 0๋ถํฐ s-1๊น์ง์ ๋ฌธ์๋ฅผ ๋ฐํํ๋ค.
2. substring(int beginIndex)
์ด ํํ๋ beginIndex๋ถํฐ ๋ฌธ์์ด์ ๋๊น์ง ๋ชจ๋ ๋ฌธ์๋ฅผ ๋ฐํํ๋ค.String after = my_string.substring(s + overwrite_string.length()); ์ด๊ฑด ๊ฒฐ๊ตญ ๋งค๊ฐ๋ณ์๊ฐ 1๊ฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฌธ์์ด์ ๋๊น์ง ๋ฐํํ๋ ๊ฒ์ด๋ฏ๋ก, ์ถ๊ฐ์ ์ผ๋ก + 1์ ํ ํ์๊ฐ ์๋ค.