스트림 컬렉션의 저장 요소를 하나씩 참조하여 람다식으로 처리할 수 있도록 해주는 반복자 스트림 구성 중간 처리 : 필터링, 매핑, 정렬, 그룹핑 등 최종 처리 : 합계, 평균, 카운팅 등 특징 람다식으로 요소 처리 코드를 제공 내부 반복자를 사용한 병렬 처리 중간, 최종 처리 가능 스트림 얻기 스트림을 사용하기 위해 먼저 스트림을 얻어야 합니다. 컬렉션으로부터 스트림 얻기 stream = studentList.stream(); 배열로부터 스트림 얻기 stream = Arrays.stream(strArray); 숫자 범위로부터 스트림 얻기 stream = IntStream.rangeClosed(1, 100); 파일로부터 스트림 얻기 Path path = Paths.get(“*/*.txt”); stream ..
Map은 사전(Dictionary)와 비슷하게 key와 value 쌍으로 데이터를 저장하여 대응관계를 쉽게 표현할 수 있게 해주는 자료형입니다. 맵은 인덱스가 아닌 키를 통해서 값을 얻는다는 특징이 있습니다. Map에서 키와 값은 모두 객체입니다. 값은 중복될 수 있지만, 키는 유일한 값을 가집니다. Map의 종류 중 대표적인 HashMap, LinkedHashMap, TreeMap에 대해 알아보겠습니다. 1. HashMap 가장 기본적인 Map 인터페이스의 구현체로 해시 함수를 통해 키와 값이 저장되는 위치를 결정하기 때문에 사용자는 위치를 알 수 없고 삽입 순서와 저장된 위치 또한 관계가 없습니다. 해싱(Hashing)을 사용하기 때문에 많은 양의 데이터를 검색할 때 뛰어난 성능을 보입니다. 💡해싱 ..
programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 문제는 위와 같으며, 장르별 노래의 재생 횟수의 합을 저장한 Map과 장르별 노래 리스트를 저장한 Map을 만들어서 정렬함으로써 문제를 해결하였습니다. 베스트앨범에 들어갈 노래의 조건을 하나씩 살펴보겠습니다. 1. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 이 조건을 확인하기 위해, 주어진 노래를 차례로 확인하면서 장르를 key로 하고 해당 노래가 재생된 횟수의 합을..
programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 문제는 위와 같으며, 먼저 주어진 이차원 배열을 {"의상의 종류": "해당 종류의 의상 수"} 형태의 Map으로 변환합니다. 이후 각 의상의 수 + 1을 최종 답에 곱한 뒤, 마지막으로 -1을 하여 답을 얻을 수 있습니다. import java.util.HashMap; import java.util.Map; class Solution { public int solution(String[][] clothes) { int answer = 1; // {종류: 갯수} 형태 맵 생성 Map clothesMap = new HashMap(); for (String[] clo..
문제는 위와 같으며 책을 입력 받아 제목을 키로 하고 해당 책이 팔린 횟수를 값으로 하는 딕셔너리를 생성한 뒤, 먼저 횟수를 기준으로 정렬하고 횟수가 같으면 제목을 사전 순으로 정렬하여 문제를 해결할 수 있습니다. 파이썬 코드는 다음과 같습니다. 여기서는 기본적으로 제공되는 sorted 함수를 이용하여 문제를 해결하였는데 이 방식 말고 먼저 최대 값을 구한 뒤, 딕셔너리에서 값이 최대 값과 같은 키의 리스트를 생성하고 그 리스트를 정렬하는 방식으로도 문제를 해결할 수 있습니다. from sys import stdin n = int(stdin.readline()) books = dict() for _ in range(n): book = stdin.readline().strip() if book in boo..
- Total
- Today
- Yesterday
- 에라토스테네스의 체
- CodeCommit
- Combination
- array
- permutation
- ECR
- java
- 소수
- spring
- sort
- 수학
- Baekjoon
- EC2
- CodeDeploy
- ionic
- Dynamic Programming
- 순열
- 조합
- DFS
- programmers
- Algorithm
- BFS
- CodePipeline
- cloudfront
- AWS
- 프로그래머스
- SWIFT
- map
- search
- string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |