본문 바로가기
728x90

전체 글476

[Java - Stream] 03. filtering Intro 데이터를 처리하기 위해 조건문이 있다면, 스트림에서는 동일한 기능으로 필터링을 제공한다. 필터링 스트림의 요소를 선택하는 방법으로 Predicate 필터링, 고유 요소 필터링, 스트림의 일부 요소를 무시하거나 스트림을 주어진 크기로 축소하는 방법 등이 있다. 1) Predicate로 필터링 스트림 인터페이스는 filter 메서드를 지원하고, Predicate(boolean을 반환하는 함수)를 인수로 받아서 일치하는 모든 요소를 포함하는 스트림을 반환한다. Predicate는 자바 8에 나온 함수형 인터페이스로 boolean 반환 타입의 test 메서드가 존재한다. public class ChickenFilter { private final List chickens; public ChickenF.. 2022. 12. 7.
[Java - Stream] 02. 컬렉션과 Stream의 구현방식의 차이 [Reference] https://tecoble.techcourse.co.kr/post/2021-05-23-stream-api-basic/ StreamAPI 나도 한 번 써보자! Java 의 Stream API 사용 방법을 알아보자. 우아한테크코스 프리코스 과정에서 Stream API 를 사용해서 코드를 맛깔나게 구현하는 분들을 보면 괜스레 해야 할 것 같고, 유용해 보여서 흥미가 생긴다. tecoble.techcourse.co.kr https://tecoble.techcourse.co.kr/post/2020-05-14-foreach-vs-forloop/ Stream의 foreach 와 for-loop 는 다르다. Stream에 대한 기본적인 학습을 위해 찾아왔다면, 공식 오라클 문서를 참고하면 좋을 .. 2022. 12. 7.
[Java - Stream] 01. 스트림을 학습해야 하는 이유 [Reference] http://www.yes24.com/Product/Goods/77125987 모던 자바 인 액션 - YES24 자바 1.0이 나온 이후 18년을 통틀어 가장 큰 변화가 자바 8 이후 이어지고 있다. 자바 8 이후 모던 자바를 이용하면 기존의 자바 코드 모두 그대로 쓸 수 있으며, 새로운 기능과 문법, 디자인 패턴 www.yes24.com 0️⃣ Intro 대부분은 자바 애플리케이션을 작성할 때, 데이터를 처리하기 위한 방식으로 컬렉션을 만들고 이를 활용한다. 컬렉션은 데이터를 보관하기 위한 자료구조일 뿐이고, 이를 활용하기 위해서는 개발자가 반복문과 조건문을 통해 원하는 로직을 구현해야 한다. 스트림 API는 컬렉션을 사용하는 방식과는 다른 방식으로 데이터를 처리할 수 있다. 1️.. 2022. 12. 7.
[Spring] IoC, DI, AOP 📌 - 작성중 IoC (Inversion of Control / 제어의 역전) 객체의 생성, 생명주기의 관리까지 모든 객체에 대한 제어권이 바뀌었음을 의미한다 어떤 객체가 사용하는 의존 객체를 직접 만들어 사용하는 것이 아닌, 주입 받아서 사용하는 방법을 말한다 Spring Framework가 IoC 컨테이너 기능을 제공한다 IoC 컨테이너 : 객체의 생성을 책임지고 의존성을 관리한다 *POJO의 생성, 초기화, 서비스, 소멸에 대한 권한을 갖는다 인스턴스의 생명 주기를 개발자가 아닌 컨테이너가 대신 관리해주기 때문에 개발자는 로직에만 집중이 가능하다 💡 POJO(Plain Of Java Project) : 객체지향적인 원리에 충실하면서 환경과 기술에 종속되지 않고 필요에 따라 재활용할 수 있는 방식으로 설계된 오브젝.. 2022. 11. 29.
[연습문제] 롤케이크 자르기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/132265 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 계속 시간 초과가 나서 찾아본 문제다😢 처음에는 Set을 2개를 선언해서 반복문 돌면서 그 때마다 넣어주고 계산했는데 음 사실 진짜 효율 안좋은거 알긴 했다ㅋㅋㅋㅋㅋㅋ 근데 어어ㅓㅇ어어어ㅓㅇ어엄청 안좋아서 찾아보니까 Map을 사용하면 훨씬 빠르다고 했땅 그래서 Map 하나랑 Set 하나를 선언해서 구현했다! 그렇게 어려운 문제는 아니어서 코드 보면 이해가 될 것이다! 자바 코드) import j.. 2022. 11. 27.
[카카오 인턴] 경주로 건설 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/67259 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 진짜... 진짜 어려웠다... dp 가뜩이나 어려워하는데 여기에 bfs까지..? bfs 변형이 진짜 생각하기 어려운 것 같다..🥲 그래도 어케... 해내야지... 버티는거야~ 버텨? 보는거야~ 일단 버티는거야~ 그럼 되는거야~ 이 문제는 단순히 최단거리를 찾는 것이 아니라 최소비용을 찾아야 한다 따라서 bfs로 모든 경로를 탐색하면서 도착지에 도달하면 최소비용인지 확인하고 업데이트하면 된다 bfs.. 2022. 11. 26.
[백준] 2206번 - 벽 부수고 이동하기 https://www.acmicpc.net/problem/2206 2206번: 벽 부수고 이동하기 N×M의 행렬로 표현되는 맵이 있다. 맵에서 0은 이동할 수 있는 곳을 나타내고, 1은 이동할 수 없는 벽이 있는 곳을 나타낸다. 당신은 (1, 1)에서 (N, M)의 위치까지 이동하려 하는데, 이때 최단 경로 www.acmicpc.net 길찾기라서 BFS라는건 바로 알았는데.... 벽 부수기 처럼 변수가 있는 문제는 저번에도 한 번 못푼 적이 있다 아마 어디 코테 볼 때 나왔던 거 같은데,,,, 암튼 갑자기 그 때 생각이 나서 풀어봤는데 겨우 이해했다,,,, 우선 이 문제에서는 벽을 최대 한번 부술 수 있기 때문에 BFS를 통해 탐색하면서 현재까지 벽을 부순적이 있는지에 대한 여부를 확인해줘야 한다 이를 .. 2022. 11. 21.
[Network] HTTP Status code 📌 HTTP Status code (상태 코드) 란? HTTP 상태 코드는 웹 상에서 클라이언트가 보낸 HTTP 요청에 대한 서버의 응답 코드로, 상태 코드에 따라 요청의 성공/실패 여부를 판단할 수 있다 HTTP 상태 코드는 크게 5가지로 분류된다 1xx : Informational / 요청이 수신되어 프로세스를 계속한다 2xx : Success / 요청을 성공적으로 받아 처리했다 3xx : Redirection / 요청을 마치기 위해 추가 행동이 필요하다 4xx : Client Error / 요청이 잘못되어 요청을 처리할 수 없다 5xx : Server Error / 서버가 유효한 요청을 처리하는 데 실패했다 💡 Backend &Frontend 협업에서의 HTTP 상태 코드 설정의 중요성 - 백엔드에서 .. 2022. 11. 19.
[연습 문제] 숫자 카드 나누기 - JAVA https://school.programmers.co.kr/learn/courses/30/lessons/135807 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 간단한 문젠데 조건을 제대로 읽지 않고 풀어서 조금 헤멨던 문제다...😥 난 요 부분 조건이 헷갈렸다 철수가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고 영희가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 영희가 가진 카드들에 적힌 모든 숫자를 나눌 수 있고, 철수가 가진 카드들에 적힌 모든 숫자들 중 하나도 나눌 수 없는 양의 정수 a 예를 들어 철수가 [10, 1.. 2022. 11. 17.
728x90