코딩테스트/프로그래머스

[프로그래머스] Lv.0 a문자열 겹쳐쓰기(Java) ※(어려움의 표시)

선SEON 2023. 10. 18. 19:56

1. 문제

2. 제출 답안

 

명확한 코드가 떠오르지 않음...

substring 메서드를 이용해야 하는 듯

 

<substring 메서드>
: 특정 위치 기준으로 문자열을 잘라 표현 가능
String.substring(int start); // start부터 자르기
String.substring(int start, int end); // start부터 end 앞까지 자르기

index는 0부터 시작하며, 공백도 index에 포함된다! = length()

split 메서드는 String 값을 특수기호로 끊어서 배열에 저장시켜줌

 

3. 다른 풀이

 

1) 좋아요 많은 풀이

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;
    }
}

 

2) 많이 제출된 풀이

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;
    }
}