728x90
반응형
문제 설명
문자열 배열 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합니다.
[나의 풀이]
import java.util.stream.Stream;
class Solution {
public int[] solution(String[] strlist) {
return Stream.of(strlist).mapToInt(el -> el.length()).toArray();
}
}
[풀이과정]
- Stream.of(array)를 통해 배열을 스트림으로 변환
- mapToInt()를 활용하여 각 문자열 요소의 길이를 순차적으로 반환하여 매핑
- 배열로 변환
[리팩토링]
mapToInt()에 들어갈 함수 형태를 String의 length()함수를 호출하여 메소드 참조 방식으로도 가능하다.
//메소드참조 전 코드
Stream.of(new String[]).mapToInt(el -> el.length()).toArray();
Stream.of(new String[]).mapToInt(el -> String.length(el)).toArray();
//메소드참조 후 코드
Stream.of(new String[]).mapToInt(String::length).toArray();
[다른 풀이]
별다른 매력적인 코드 없음
728x90
반응형
'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글
[43] JAVA 중복된 숫자 개수 (0) | 2023.11.17 |
---|---|
[42] JAVA 피자 나눠먹기 (0) | 2023.11.17 |
[40] JAVA 문자열 뒤집기 (0) | 2023.11.16 |
[39] JAVA 뒤에서 5등 위로 (0) | 2023.11.16 |
[38] JAVA 아이스 아메리카노 (0) | 2023.11.16 |