[프로그래머스] Java 코딩테스트 - 배열 원소의 길이 (Arrays.stream, length() 사용)

yihyun·2025년 4월 1일

코딩테스트

목록 보기
29/105

중복된 숫자 개수

✅ 문제 설명

문자열 배열 strlist가 매개변수로 주어집니다. strlist 각 원소의 길이를 담은 배열을 return하도록 solution 함수를 완성해주세요.

✅ 제한사항

1 ≤ strlist 원소의 길이 ≤ 100
strlist는 알파벳 소문자, 대문자, 특수문자로 구성되어 있습니다.

🔽 소스코드 1 (for문, length())

💻 풀이

  • for 문으로 배열의 길이만큼 반복해 준다.
  • length() 를 이용해 문자열의 길이를 int 배열에 담아준다.

시간 0.01ms ~ 0.01ms

    public int[] solution1(String[] strlist) {
        int[] answer = new int[strlist.length];
        
        for(int i = 0; i < strlist.length; i++) {
        	
        	answer[i] = strlist[i].length();
        }
        return answer;
    }

🔽 소스코드 2 (Arrays.stream 사용)

💻 풀이

  • Arrays.stream(arr) 을 해서 배열을 스트림으로 변환해준다.
  • mapToInt(String::length) 를 사용해 intstream으로 변환해 String 의 length를 담아준다.
  • toArray() 다시 배열로 변환해 리턴해준다.

시간 2.16ms ~ 3.79ms

전체코드

import java.util.Arrays;
    public int[] solution1(String[] strlist) {
    	return Arrays.stream(strlist).mapToInt(String::length).toArray();
    }
profile
개발자가 되어보자

0개의 댓글