본문 바로가기

코딩테스트76

[ 프로그래머스 ] 배열 만들기 1 문제 풀이 stream 메소드를 이용해서 풀기 1) rangeClosed(시작 값, 끝 값)을 이용해서 범위를 정해준다. 2) filter()를 통해서 k의 배수만 가져온다. 3) toArray()를 통해 가져온 수를 배열에 넣어준다. 결과 import java.util.stream.InsStream; class Solution { public int[] solution(int n, int k) { return IntStream.rangeClosed(1,n).filter(i -> i%k==0).toArray(); } } 2024. 2. 18.
[ 프로그래머스 ] ad 제거하기 문제 풀이 1. stream 메소드 이용해서 풀기 2. strArr 배열에서 ad를 포함하고 있지 않는 문자열만 filter로 추출한다! .filter(str -> !str.contains("ad")​ 3. filter에서 뽑아낸 것들을 다시 배열로 반환한다. .toArray(String[]::new); 배열이 String이므로 String[]:new로 배열의 타입 변환을 해주어야 한다. *int[] 배열은 그냥 .toArray()로 사용 가능 : 자동으로 int[] 타입으로 반환하기 때문 결과 import java.util.Arrays; class Solution { public String[] solution(String[] strArr) { return Arrays.stream(strArr).fil.. 2024. 2. 15.
[ 프로그래머스 ] 배열 원소의 길이 문제 풀이 * stream 메소드를 이용해서 풀어보기 - String::length은 String 클래스의 .length()를 참조한다. - mapToInt(string::length) 로 strlist의 각 문자열의 길이를 구한 후 - .toArray() 로 구한 문자열의 수를 배열로 변환 결과 2024. 2. 11.
[ 프로그래머스 ] 중복된 숫자개수 문제 풀이 Stream 메소드를 이용하여 스트림에서 만족하는 요소만 반환한다. .filter() 메소드를 통해 array의 배열에 n 이 있으면 .count()로 n의 개수를 증가시킨다. * 여기서 .count()는 long타입이다. 하지만 결과를 정수로 반환해야하기 때문에 int로 형변환을 해줘야 된다! import java.util.Arrays; class Solution { public int solution(int[] array, int n) { return (int)Arrays.stream(array).filter(i -> i==n).count(); } }​ 결과 stream 메소드를 적절하게 잘 사용하면 코드의 가독성을 높이고 간단하게 짤 수 있어서 좋은 것 같다. 앞으로 for문과 stram.. 2024. 2. 11.