본문 바로가기
코드문제풀이/JAVA

[자바] 문자열 겹쳐쓰기

by 똥쟁이핑크 2023. 7. 3.

https://school.programmers.co.kr/learn/courses/30/lessons/181943

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제설명

문자열 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의 길이

입출력 예

my_string overwrite_string s result
"He11oWor1d" "lloWorl" 2 "HelloWorld"
"Program29b8UYP" "merS123" 7 "ProgrammerS123"

 

나의 문제 풀이 과정

1) 문자열 길이 만큼 substring 해주고 replace사용하여 문자열을 바꿔주었다

2) 테스트를 통과하여 제출하였는데 6번에서 error가 나서 다시 생각해보았음.

3) 꼭 포함해야할 문자열 인덱스 s위치까지 substring해주고 문자열을 서로 더해서 answer를 도출함.

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        // int len_o = overwrite_string.length();
        // String my_str = my_string.substring(s, s+len_o);
        // answer = my_string.replace(my_str, overwrite_string);
        // 위의 코드로 하면 6번째에서 막힌다.
        
        answer = my_string.substring(0, s) + overwrite_string + my_string.substring(s+overwrite_string.length());
     return answer;   
    }
}

'코드문제풀이 > JAVA' 카테고리의 다른 글

[자바] 덧셈식 출력하기  (0) 2023.07.03
[자바] n번째 원소까지  (0) 2023.07.03
[자바]길이에 따른 연산  (0) 2023.07.03
[자바] 특수문자 출력하기  (0) 2023.07.03
[자바] 카운트 다운  (0) 2023.07.03