1. 문제목적
해당 문제는 자바의 length(), substring() 메서드에 대해 알 수 있습니다.
2. 필요개념
- length() 메서드 - 문자열(String) 객체의 길이(문자의 개수)를 정수값으로 반환하는 메서드입니다.
- substring() 메서드 - 문자열을 자르거나 부분 문자열(substring)을 추출하는 데 사용되는 메서드입니다. 이 메서드를 사용하면 원래 문자열에서 시작 위치부터 끝 위치까지의 문자열을 가져올 수 있습니다.
- 예로 substring(1,5) 인덱스 1번부터 5번까지의 부분 문자열을 가져옵니다.
- if 조건문 - 이전 문제에서 학습
- +를 이용하여 문자열을 합칠 수 있습니다.
3. 코드작성
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;
}
}
4. 문제풀이
- String solution(String my_string, String overwrite_string, int s): - solution 메서드는 세 개의 매개변수를 받습니다. 첫 번째는 원본 문자열(my_string), 두 번째는 덮어쓰기 문자열(overwrite_string), 세 번째는 덮어쓸 위치(s)입니다. 메서드의 반환값은 새로 생성된 문자열입니다.
- String answer = my_string.substring(0, s) + overwrite_string;: 원본 문자열의 처음부터 덮어쓸 위치 s까지의 부분 문자열과 덮어쓰기 문자열을 합쳐서 새로운 문자열을 만듭니다.
- if (my_string.length() > answer.length()) { answer += my_string.substring(answer.length()); } - 만약 덮어쓰기 이후에도 원본 문자열에 남은 부분이 있다면, 이를 새로운 문자열에 이어붙입니다. 이 부분은 덮어쓰기가 문자열을 줄이는 게 아니라 늘리는 경우를 고려한 것입니다.
- return answer; - 최종적으로 생성된 문자열을 반환합니다
5. 다른방법
6. 마무리
이 코드는 문자열과 덮어쓸 위치를 입력받아 해당 문자열의 각 문자열를 변환하여 출력하는 문제였습니다. substring()메서드를 이용하여 문자열을 자르고 +연산자를 통해 문자열을 합친후 조건문을 통해 남은 문자열까지 반환 할 수 있도록 하였습니다.
7. 문제링크
코딩테스트 연습 > 코딩기초트레이닝 > 자바 > 문자열 겹쳐쓰기
https://school.programmers.co.kr/learn/courses/30/lessons/181943
'알고리즘, 자료구조' 카테고리의 다른 글
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자 리스트를 문자열로 변환하기 (0) | 2023.12.25 |
---|---|
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자열 섞기 (0) | 2023.12.13 |
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 홀짝 구분하기 (1) | 2023.12.08 |
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자열 돌리기 (0) | 2023.11.29 |
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자열 붙여서 출력하기 (0) | 2023.11.24 |