람다식3 대충 만든 자판(Lv.1) 문제 설명 입출력 예시 요약 주어진 keymap의 문자열에 들어있는 문자들을 최대한 적게 눌러서 targets에 있는 단어 만들기 풀이 접근 방식 1. targets의 문자열을 이루고 있는 문자를 하나씩 keymap에서 조사 → .indexOf() 메소드로 주어진 keymap을 모두 조사해 최소값을 찾는다. 2. keymap에 없는 문자를 포함하는 경우 -1을 return → 스트림의 최종 처리 기능인 .orElse() 메소드를 통해 -1을 리턴 코드리뷰 import java.util.*; public class Solution { public int[] solution(String[] keymap, String[] targets) { List list = new ArrayList(); for(int i.. 2024. 4. 11. 익명 객체와 람다식(lambda) 람다식 사용법 세 줄 요약 - 함수형 인터페이스를 생성하고, - 해당 인터페이스의 참조 변수를 통해 추상 메소드를 호출하는 데이터 처리부(메소드)를 만들고, - 해당 인터페이스의 추상 메소드에 선언된 매개변수(데이터)의 처리 방법을 기술한다. 익명 객체 이름이 없는 객체를 뜻하며 함수형 프로그래밍에 사용됩니다. 종류에는 1) 익명 자식 객체와 2) 익명 구현 객체가 있습니다. 함수형 프로그래밍 함수를 정의하고 이 함수를 데이터 처리부로 보내 데이터를 처리하는 기법입니다. 데이터 처리부는 처리 방법은 없고 단지 데이터만 존재하기 때문에 외부에서 제공된 함수에 의존적입니다. → 함수(A) 결과 = A → 함수(B) 결과 = B → 데이터 처리의 다형성 익명 자식 객체 클래스를 상속해서 익명 객체를 만드는 경.. 2024. 4. 3. 튜플(Lv.2) 문제 설명 입출력 예시 요약 해당 문자열을 통해 튜플 구하기 * 여기서 튜플은 정해진 순서가 있고 중복되는 숫자가 없음 풀이 접근 방식 1. 문자열에서 서로 크기가 다른 집합을 떼서 배열에 담는다. → {{20, 111}, {111}} : {20, 111}과 {111}로 split 2. 해당 집합을 요소로 갖는 배열을 문자열의 길이 순으로 정렬한다. → Arrays.sort()에 람다식을 통한 정렬 3. set에 하나씩 담는다. → 두 번째 요소부터는 "," 기준으로 split후 하나씩 담기 코드리뷰 import java.util.*; class Solution { public int[] solution(String s) { HashSet set = new LinkedHashSet(); List answ.. 2024. 3. 22. 이전 1 다음