학이시습
[프로그래머스] 0단계_문자열 겹쳐쓰기 (Java) 본문
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/120922
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
문자열 my_string, overwrite_string과 정수 s가 주어집니다. 문자열 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.
작성한 코드
class Solution {
public String solution(String my_string, String overwrite_string, int s) {
String answer = "";
for (int i = 0; i < my_string.length(); i++) {
if (i >= s && i <= overwrite_string.length() + s - 1) {
answer += overwrite_string.charAt(i - s);
} else {
answer += my_string.charAt(i);
}
}
return answer;
}
}
풀이
- 문자열 길이만큼 for문을 반복합니다.
- 만약 i가 정수 s보다 크고, 덮어쓸 문자열 길이 + s(덮어쓰기를 시작할 인덱스) - 1보다 작거나 같다면, 덮어쓸 문자를 answer에 더합니다.
(위치 확인을 위한 계산) - 아니면 기존 문자열(덮어씌워지는)을 answer에 더합니다.
- 만약 i가 정수 s보다 크고, 덮어쓸 문자열 길이 + s(덮어쓰기를 시작할 인덱스) - 1보다 작거나 같다면, 덮어쓸 문자를 answer에 더합니다.
실행 결과
'Coding test > Programmers' 카테고리의 다른 글
[프로그래머스] 0단계_로그인 성공? (Java) (0) | 2025.05.11 |
---|---|
[프로그래머스] 2단계_조건에 맞게 수열 변환하기 2 (Java) (0) | 2025.05.09 |
[프로그래머스] 0단계_종이 자르기 (Java) (0) | 2025.05.09 |
[프로그래머스] 2단계_최댓값과 최솟값 (Java) (0) | 2025.04.30 |
[프로그래머스] 2단계_최솟값 만들기 (JavaScript) (0) | 2025.04.30 |