1. 문제목적
해당 문제는 join(), slice()메서드를 이해할 수 있습니다.
다른 방법으로 자바의 StringBuilder메서드에 대해 이해할 수 있습니다.
2. 필요개념
- slice(): 어떤 배열의 begin부터end까지(end미포함)에 대한 얕은 복사본을 새로운 배열 객체로 반환합니다.
- join(): 배열의 모든 요소를 연결해 하나의 문자열로 만들어줍니다.
3. 코드작성
function solution(arr) {
return arr.slice().join('')
}
4. 문제풀이
- arr.slice()를 사용하여 주어진 배열의 복사본을 생성합니다. slice() 메서드는 배열의 일부분을 추출한 새로운 배열을 반환합니다. 여기서는 배열 전체를 복사하기 위해 매개변수를 제공하지 않았습니다.
- arr.slice().join('')는 배열의 모든 요소를 문자열로 결합합니다. join('') 메서드는 배열의 각 요소를 지정된 구분자 없이 연결하여 하나의 문자열로 만듭니다. 여기서는 빈 문자열('')을 구분자로 사용하여 각 요소를 이어붙입니다.
- 최종적으로, 배열의 모든 요소가 하나의 문자열로 결합된 결과가 반환됩니다.
5. 다른방법
import java.util.*;
class Solution {
public String solution(String[] arr) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i<arr.length; i++) {
sb.append(arr[i]);
}
return sb.toString();
}
}
- StringBuilder 클래스를 사용하여 문자열을 효율적으로 처리합니다. StringBuilder는 가변적인 문자열을 생성할 수 있는 클래스로, 문자열 연산 시에 새로운 객체를 생성하지 않고 기존의 객체를 수정하여 성능을 향상시킵니다.
- StringBuilder sb = new StringBuilder();에서 StringBuilder 객체를 생성합니다.
- for 루프를 사용하여 배열의 각 요소를 StringBuilder에 추가합니다. sb.append(arr[i]);는 StringBuilder에 현재 배열 요소를 추가합니다.
- 최종적으로, sb.toString()을 호출하여 StringBuilder 객체를 문자열로 변환하고 반환합니다.
6. 마무리
join() 메서드를 이해할 수 있었습니다. String.join() 메서드는 첫 번째 인자로 구분자를 지정하고, 두 번째 인자로 문자열 리스트를 받아 하나의 문자열로 합칩니다. 첫 번째 인자로 빈 문자열("")을 지정하면 구분자를 사용하지 않고 연결하면 구분자를 사용하지 않고 연결합니다.
7. 문제링크
코딩테스트 연습 > 코딩기초트레이닝 > 자바 > 문자 리스트를 문자열로 변환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181941
'알고리즘, 자료구조' 카테고리의 다른 글
[백준| 단계별로 풀어보기 1단계 | Python] 1000번 A+B (0) | 2024.03.27 |
---|---|
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자열 곱하기 (0) | 2023.12.25 |
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자열 섞기 (0) | 2023.12.13 |
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 문자열 겹쳐쓰기 (2) | 2023.12.08 |
[프로그래머스 | 코딩 기초 트레이닝 Lv.0 | JAVA] 홀짝 구분하기 (1) | 2023.12.08 |