-
728x90
문제 설명
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
제한 사항
my_string와 overwrite_string은 숫자와 알파벳으로 이루어져 있습니다.
1 ≤ overwrite_string의 길이 ≤ my_string의 길이 ≤ 1,000
0 ≤ s ≤ my_string의 길이 - overwrite_string의 길이입출력 예 설명
예제 1번의 my_string에서 인덱스 2부터 overwrite_string의 길이만큼에 해당하는 부분은 "11oWor1"이고 이를 "lloWorl"로 바꾼 "HelloWorld"를 return 합니다.
답안
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_string 길이에서 s를 뺀 값이 overwrite_string의 길이 보다 더 크면 나머지 뒷 부분을 잘라서 return하는 식으로 짰는데 훨씬 더 간편한 방법이 있어서 확인하고 다시 제출했다.
my_string을 s만큼 자른 문자열을 before에 담고 after에 my_string을 s + overwrite_string의 길이를 더한 값부터 끝까지 자른 문자열을 넣는다. 이 때 s + overwirte_string 길이 값이 my_string 길이 보다 길다면 빈 값이 담긴다.
그렇게 before 와 overwrite_string 과 after를 차례로 '+' 연산자를 통해 이어 붙여 return한다.
728x90'algorithm' 카테고리의 다른 글
자바 알고리즘 - 문자 리스트를 문자열로 변환하기 (0) 2023.08.23 자바 알고리즘 - 문자열 섞기 (1) 2023.08.23 자바 알고리즘 - 홀짝 구분하기 (0) 2023.08.22 자바 알고리즘 - 문자열 돌리기 (0) 2023.08.22 자바 알고리즘 - 대소문자 바꿔서 출력하기 (0) 2023.08.22