1. 해결 전략
- 배열
arr
을 반복 순회하며 문자열 answer
에 문자를 하니씩 더하여 저장합니다.
2. 구현코드
class Solution {
public String solution(String[] arr) {
String answer = "";
for(String str : arr)
answer += str;
return answer;
}
}
3. 시간 & 공간 복잡도
- 시간 복잡도 : O(n)
- > 배열 arr
길이만큼 반복문을 실행하여 시간 복잡도는 O(n)입니다.
- 공간 복잡도 : O(n)
- > 결과 문자열 answer
에 문자열을 추가할 때마다 새로운 문자열이 생성되어 메모리에 쌓이므로 최종적으로 결과 문자열의 길이만큼의 공간이 사용됩니다. 따라서 공간 복잡도도 O(n)입니다.
4. Refactoring
✅ String.Join 사용
class Solution {
public String solution(String[] arr) {
return String.join("", arr);
}
}
- 이전에는 문자열을 나누는 메소드에 대해 알게되었고 이번에는 문자열을 합치는 메소드인
String.join
을 알게되어 사용해 보았습니다.
- String.Join(배열 사이 추가 문자열, 합치는 문자열 배열, 시작 index, 끝 index);
5. 후기 및 반성
- 깔끔하게 코드를 작성하였다고 생각하였지만 더 깔끔하고 가독성이 좋은 코드를 찾게 되었습니다. 이때까지의 기록들로 배운 것이 많습니다.
- 역시 기본 문제도 배울점을 찾으면 계속 나옵니다.
6. 참고