본문 바로가기

전체 글

(6)
[해시] 폰켄몬 문제 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import java.util.*; import java.util.stream.Collectors; class Solution { public int solution(int[] nums) { /* 1) 배열의 distinct 수를 구함 2-1) 그 수가 N/2 이상이면 N/2출력 2-2) 그 수가 N/2 미만이면 distinct의 count 출력 */ int nDivTwo = nums.l..
[Part1] Chapter3. 람다 1. 람다 익명함수의 일종. 1.1. 람다의 특징 익명 보통의 메서드와 달리 이름이 없으므로 람다를 익명이라 표현한다. 익명이므로 구현해야 할 코드가 줄어든다. 함수 람다는 메서드처럼 특정 클래스에 종속되지 않으므로 함수라고 부른다. 하지만 메서드처럼 파라미터 리스트, 바디, 반환 형식, 가능한 예외 리스트를 포함한다. 전달 람다 표현식을 메서드 인수로 전달하거나 (동작 파라미터화) 변수로 저장할 수 있다. 간결성 익명클래스 처럼 많은 자질구레한 코드를 구현할 필요가 없다. 1.2. 람다의 구조 //람다는 return이 함축되어 있음 int slen = (String s) -> s.length(); //람다 바디 중괄호 안에 여러 행의 문장을 포함할 수 있음 (int x, int y) -> { Syste..
[Part1] Chapter2. 동작 파라미터화 코드 전달하기 0. 목적 변화하는 요구사항에 유연하게 대응할 수 있는 코드를 구현하자. - 비용은 최소화 - 구현은 쉽게 - 유지보수가 쉽게 동작(Behavior) 파라미터화 메서드가 다양한 '동작'을 받아서 내부적으로 다양한 동작을 수행할 수 있다. 말 그대로 동작이 파라미터로 사용된다. 1. 변화하는 요구사항에 대응하기 🧑‍🌾 : 나는 녹색 사과만 보고싶어. 1.1. 녹색 사과 필터링 public enum Color { RED, GREEN } @Data @AllArgsConstructor public class Apple { public Color color; } public class 녹색사과필터링 { public static List filterGreenApplesList(List inventory){ List..