👿 문제 👿
문자열 my_string, overwrite_string 과 정수 s 가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string 으로 바꾼 문자열을 return 하는 solution 함수를 작성해주세요.
[Algorithm]
➡️ Java의 내장함수 substring() 사용
1. my_string의 인덱스 0부터 s까지 문자열 자르기
2. 자른 문자열 뒤에 overwrite_string 붙이기
3. my_string 의 s+1 인덱스부터 끝까지 잘라서 그 뒤로 붙이기
[Code]
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
int len1 = my_string.length();
int len2 = overwrite_string.length();
return my_string.substring(0,s) + overwrite_string
+ my_string.substring(s+len2, len1);
}
}
[+ Plus]
✔️ SubString() 메소드
➡️ 문자열의 특정 부분을 잘라내는데 사용, 2가지 형태로 사용 가능
1. substring(int startIndex)
: startIndex부터 문자열의 끝까지 리턴
2. substirng(int startIndex, int endIndex)
: startIndex부터 endIndex까지 문자열 리턴
* startIndex는 포함, endIndex는 불포함
[+ 다른 사람 풀이]
// 초깔끔 간단 코드
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String before = my_string.substring(0, s);
String after = my_string.substring(s + overwrite_string.length());
return before + overwrite_string + after;
}
}
// 조건문 활용
// 조건 : my_stirng의 길이가 overwrite_string 보다 긴 경우, 그 뒤의 문자열을 더해준다
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = my_string.substring(0,s) + overwrite_string;
if(my_string.length() > answer.length()) {
answer += my_string.substring(answer.length());
}
return answer;
}
}
이거 댓글 완전 나임 ... ;; 내가 쓴 줄 알았자나
처음에 문제 읽고 문자열을 문자열로 바꾼 후, for문 이중으로 돌려서 replace 함수로 문자 치환하려고 했는데 ,,
코드가 넘 드럽고 잘 써지지도 않아서 다른 방법 찾아봄 ㄷㄷ
'Algorithm Study' 카테고리의 다른 글
[Java Algorithm] 프로그래머스 Lv.0 _ 문자 리스트를 문자열로 변환하기 (0) | 2024.03.07 |
---|---|
[Java Algorithm] 프로그래머스 Lv.0 _ 문자열 섞기 (0) | 2024.03.07 |
[Java Algorithm] 프로그래머스 Lv.0 _ 문자열 돌리기 (0) | 2024.03.06 |
[Java Algorithm] 프로그래머스 Lv.0 _ 덧셈식 출력하기 (0) | 2024.03.06 |
[Java Algorithm] 프로그래머스 Lv.0 _ 특수문자 출력하기 (0) | 2024.03.06 |