Notice
Recent Posts
Recent Comments
Link
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
Tags
more
Archives
Today
Total
관리 메뉴

soozya

[JAVA] Lv0. 문자열 겹쳐쓰기 본문

💻프로그래머스_연습/LV.0

[JAVA] Lv0. 문자열 겹쳐쓰기

soozya 2023. 11. 7. 15:10

[문제]

 


[답]

 

 

[풀이]

약간 복잡했지만.... substring은 문자열 중 특정 문자를 추출할 때 사용할 수 있고, .substring(n, m) 일 때 n은 시작 인덱스 번호, m은 m-1의 값에 해당한다. 예를 들어 (0, 4) 의 경우 인덱스 번호 0부터 4-1인 3까지의 글자를 추출할 수 있는 것!

 

3라인을 해석하자면 my_string 문자열의 인덱스 번호 0부터 s-1까지의 문자를 추출한 후, overwrite_string의 문자열을 이어 붙임!

만약 3라인까지만 썼을 때, overwrite_string의 문자열이 my_string 문자열보다 길거나 남는 값이 없다면 오류가 생기지 않지만 my_string의 글자가 남는다면 오류가 발생할 수 있음..!

  => website 와 123을 결합할 때 we123te가 되어야 하는데, we123까지만 출력되어 오류 발생한다는 뜻

 

그래서 4라인을 붙여주어야 함. my_string의 s번째 글자와  overwrite_string의 글자길이를 더 했을 때 나오는 숫자에 해당하는 인덱스 값을 가져오면 됨. 더한 값이 5일 때 인덱스 번호 5부터!

 => website의 인덱스 번호는 0부터 6까지이고 s가 2일 때 해당되는 문자는 b, 결합될 글자(숫자)의 길이는 3이기 때문에 5부터 가져오게 되는 것이다. 그래서 we123에 인덱스 번호 5에 해당하는 t부터 남은 글자를 가져와 te를 붙여주면 됨!