https://school.programmers.co.kr/learn/courses/30/lessons/181942
[문제]
[정답]
class Solution {
public String solution(String str1, String str2) {
String result = "";
for(int i = 0; i < str1.length(); i++){
result += str1.substring(i, i + 1);
result += str2.substring(i, i + 1);
}
return result;
}
}
[풀이]
class Solution {
// 문자열을 교차로 결합하는 메서드
public String solution(String str1, String str2) {
// 결과 문자열을 초기화
String result = "";
// 두 문자열의 길이만큼 반복
for(int i = 0; i < str1.length(); i++){
// str1에서 i 위치의 문자를 결과 문자열에 추가
result += str1.substring(i, i + 1);
// str2에서 i 위치의 문자를 결과 문자열에 추가
result += str2.substring(i, i + 1);
}
// 최종 결과 문자열 반환
return result;
}
}
substring()
- str1 문자열에서 인덱스 i부터 인덱스 i + 1 직전까지의 문자를 추출합니다.
- i부터 i + 1 직전까지의 범위는 단 하나의 문자를 나타냅니다.
- 예를 들어, i가 0이라면, 이 코드는 str1의 첫 번째 문자를 추출하게 됩니다.
- 그리고 이 추출된 문자를 result 문자열에 추가합니다.
사용법 예시
문자열: H e l l o , W o r l d !
인덱스: 0 1 2 3 4 5 6 7 8 9 10 11 12
substring(3, 8) 메서드를 호출하면,
추출된 부분 문자열: "lo , "
[풀이2]
위에 풀이에서는 문자열 인덱스값으로 원하는 문자열을 추출했다면 이번에는 문자열에서 문자 하나씩 반복문을 통해서 추출하여 변수에담아 결과를 얻는 방법이다.
class Solution {
// 문자열을 교차로 결합하는 메서드
public String solution(String str1, String str2) {
// 결과 문자열을 초기화
String result = "";
// 두 문자열의 길이만큼 반복
for(int i = 0; i < str1.length(); i++){
// str1에서 i 위치의 문자를 추출
char charFromStr1 = str1.charAt(i);
// str2에서 i 위치의 문자를 추출
char charFromStr2 = str2.charAt(i);
// 추출한 문자들을 결과 문자열에 추가
result += charFromStr1;
result += charFromStr2;
}
// 최종 결과 문자열 반환
return result;
}
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
두 수의 연산값 비교하기 (0) | 2023.09.14 |
---|---|
더 크게 합치기 (0) | 2023.09.14 |
문자열 곱하기 (0) | 2023.09.14 |
문자열 리스트를 문자열로 변환 (0) | 2023.09.14 |
문자열 겹쳐쓰기 (0) | 2023.09.13 |
댓글