[알고리즘문제풀기] 공백으로 구분하기 1

silver's avatar
Mar 29, 2025
[알고리즘문제풀기] 공백으로 구분하기 1

문제

내가 작성한 정답

class Solution { public String[] solution(String my_string) { return my_string.split(" "); } }

ArrayList → Array로 변경하기(String[]에서)

: 출력값이 int[] 라면 toArray()는 기본형은 취급하지 않으므로 사용하지 않는게 낫다.
import java.util.*; class Solution { public String[] solution(String my_string) { ArrayList<String> answer = new ArrayList<>(); for(String s : my_string.split(" ")){ answer.add(s); } // ArrayList -> Array로 변경 return answer.toArray(String[]::new); return answer.toArray(new String[0]); // -> 이게 좀 더 빠름 } }
💡
  1. toArray() 메서드 컬렉션(예: ArrayList, HashSet 등)의 모든 요소를 배열로 변환하는 메서드. 이 메서드를 호출하면 현재 컬렉션의 모든 요소를 포함하는 새로운 배열이 생성된다.
    1. oArray()는 Collection 인터페이스를 구현하는 모든 객체에서 사용할 수 있다. → ArrayList, LinkedList, HashSet 등에서 사용가능하다
  1. new String[0] toArray(T[] a) 메서드는 배열을 인자로 받아, 반환할 배열의 타입을 알려준다. 여기서 T는 배열의 타입입니다. new String[0]는 빈 문자열 배열을 생성하여 이 메서드에 반환할 배열의 타입을 전달.
    1. 타입 정보 제공: toArray(new String[0])를 호출하면, 반환될 배열의 타입이 String임을 명시적으로 지정. 이 방법은 Java의 제네릭 타입을 사용하여 컴파일러가 타입을 확인하도록 도와준다.
    2. 필요한 크기 조정: toArray(new String[0])를 사용하면 반환되는 배열의 크기는 컬렉션의 크기에 맞게 자동으로 조정된다. 빈 배열을 전달하더라도, 내부적으로 필요한 크기의 배열이 생성되어 반환된다.
Share article

silver