본문 바로가기
코테 준비(with 프로그래머스)

프로그래머스 day2 - 문자열 겹쳐쓰기(substring)

by jeong11 2023. 10. 24.
반응형
문제 설명

문자열 my_string, overwrite_string 정수 s 주어집니다. 문자열 my_string 인덱스 s부터 overwrite_string 길이만큼을 문자열 overwrite_string으로 바꾼 문자열을 return 하는 solution 함수를 작성해 주세요.

입출력 예
my_string overwrite_string s result
"He11oWor1d" "lloWorl" 2 "HelloWorld"
"Program29b8UYP" "merS123" 7 "ProgrammerS123"

 

 

*내가 해결한 코드*

class Solution {
    public String solution(String my_string, String overwrite_string, int s) {
        String answer = "";
        int tmp = my_string.length();
        int tmp2 = overwrite_string.length();
        
        answer = my_string.substring(0, s) 
            +overwrite_string + my_string.substring(s+tmp2, tmp);
        
        return answer;
        
    }
}

 

* 개념 알아두기 

1. substring : 문자열 자르기 

-사용법 : 

1) substring(int index) : 그 숫자부터 끝까지 출력 

String str3 = "123456789177,011";
		
System.out.println(str3.substring(0));
// 출력값 : 
//123456789177,011

System.out.println(str3.substring(9));
// 출력값 : 
//177,011

 

2) substring(int startIndex, int endIndex) :

startIndex(포함)부터 endIndex(불포함)까지의 문자열을 리턴함

String str3 = "123456789177,011";

System.out.println(str3.substring(0,3));
// 출력값 : 
//123

System.out.println(str3.substring(0,str3.length()));
// 출력값 : 
//123456789177,011

 

2. index of : 특정 문자 위치 찾기

, 앞의 숫자만 출력하고 싶은 경우에 사용가능함 

String str3 = "123456789177,011";

System.out.println(str3.substring(0, str3.indexOf(",")));
//출력값 : 
//123456789177

System.out.println(str3.substring(0, str3.indexOf("7")));
//출력값 : 
//123456

 

3. last index of :  

String str3 = "123456789177,011";

System.out.println(str3.substring(0, str3.lastIndexOf("0")));
//출력값 : 
//123456789177,

System.out.println(str3.substring(9, str3.lastIndexOf("0")));
//출력값 : 
//177,

 

반응형