📢 문제 출처
⏰ 문제 설명
- 문자열 my_string, overwrite_string과 정수 s가 주어집니다.
문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을
overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
⏰ 입출력 예시
- 입출력 예 #1
예제 1번의 my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다. - 입출력 예 #2
예제 2번의 my_string에서 인덱스 7부터 overwrite_string의 길이만큼에 해당하는 부분은 "29b8UYP"이고 이를 "merS123"로 바꾼 "ProgrammerS123"를 return 합니다.
⏰ 풀이
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
StringBuffer sb = new StringBuffer();
sb.append(my_string.substring(0,s));
sb.append(overwrite_string);
sb.append(my_string.substring(overwrite_string.length() + s));
System.out.println("sb = " + sb);
answer = sb.toString();
return answer;
}
}
- 해당 문제에서는 문자열 인덱스를 사용해야 하기 때문에 StringBuffer를 생성하여 문제를 풀어야한다.
- 매개변수 s의 값에 따라서 변경해야하는 부분이 달라진다.
⏰ 값을 얻어오는 과정
- StringBuffer를 새로 생성한 후에 my_string의 값을 첫 영역부터 s값까지 문자열을 파싱해온다.
- 그 후에 overwrite_string을 append 해준다.
- overwrite_string의 길이만큼만 바꿔주고 나머지 영역을 출력해줘야하기 때문에 overwrite_string.length()에 인덱스(s) 값을 더해서 overwrite_string으로 바꾼 이후 나머지 영역을 재 확인해준다.
- StringBuffer -> String 으로 변환을 해야하기 때문에 .toString() 함수를 이용하여 answer에 값을 대입해준다.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[ 프로그래머스] 꼬리 문자열 (0) | 2023.08.05 |
---|---|
[프로그래머스] flag에 따라 다른 값 반환하기 (0) | 2023.08.05 |
[프로그래머스] 홀짝 구분하기 (0) | 2023.08.04 |
댓글