본문 바로가기

Chapter01/고딩데스드

[고딩데스드] 입문배열 원소의 길이

코딩테스트 연습 > 코딩테스트 입문 > 배열 원소의 길이

배열 원소의 길이


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

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


입출력 예
strlist result
["We", "are", "the", "world!"] [2, 3, 3, 6]
["I", "Love", "Programmers."] [1, 4, 12]
입출력 예 설명


입출력 예 #1

["We", "are", "the", "world!"]의 각 원소의 길이인 [2, 3, 3, 6]을 return합니다.
입출력 예 #2

["I", "Love", "Programmers."]의 각 원소의 길이인 [1, 4, 12]을 return합니다.

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

 

 

 

 

.length

: 배열 또는 문자열 길이를 반환

- 배열의 경우 .length를 사용하여 배열의 크기를 반환한다

int[] numbers = {1, 2, 3, 4, 5};
int length = numbers.length;

length에는 5가 저장됨

 

- 문자열의 경우 .length()를 사용하여 문자열 길이를 반환한다

String str = "Hello, World!";
int length = str.length();

 length에는 13이 저장됨

 

 

배열 속성은 .length

문자열 길이는 .length()

 

 

 


다른사람의 풀이

 

import java.util.Arrays;

class Solution {
    public int[] solution(String[] strList) {
        return Arrays.stream(strList).mapToInt(String::length).toArray();
    }
}

 

 

스트림을 사용하여 문자열 배열의 각 요소에 대해 길이를 매핑하고 int 스트림으로 변환한 후 배열로 반환합니다.

  1. Arrays.stream(strList): Arrays 클래스의 정적 메서드인 stream()을 사용하여 문자열 배열을 스트림으로 변환합니다.
  2. mapToInt(String::length): mapToInt() 메서드를 사용하여 각 문자열을 해당 문자열의 길이로 매핑합니다. 여기서 String::length는 문자열의 길이를 반환하는 메서드 레퍼런스입니다.
  3. toArray(): 최종 연산으로, IntStream을 배열로 변환하여 반환합니다.