본문 바로가기

JAVA206

[Java] Map을 Key, Value로 정렬하기 프로그래머스 - 베스트앨범 문제를 풀이하며 Map을 정렬하는 방법이 있을지 궁금해졌다.  1. Key 값을 기준으로 정렬하기map의 keySet()을 이용하여 정렬오름차순 : Collections.sort()내림차순 : Collections.reverse()import java.util.*;public class Main { public static void main(String[] args) { Map map = new HashMap(); map.put("A", 10); map.put("D", 30); map.put("C", 20); map.put("B", 40); List keySet = new A.. 2024. 8. 18.
[Java] Map 순회 방법 프로그래머스 - 의상 문제를 풀이하며 Map을 순회하는 방식을 사용해야 했지만 바로 떠올리지 못했다.분명 알고 있었는데... 기억이 나지 않아서 다시 정리한다!  1. Iterator를 통해 접근하기Map map = new HashMap();Iterator keys = map.keySet().iterator();while (keys.hasNext()) { String key = keys.next(); map.get(key);}  2. entrySet으로 접근하기Map은 하나의 원소로 Key-Value 묶음을 가지기 때문에 원소라는 표현 대신 Entry라고 표현함Map map = new HashMap();for (Map.Entry entry : map.entrySet()) { String key = .. 2024. 8. 18.
[Java] 스트림 API (Stream API) 스트림 API란?여러 종류의 데이터를 다양한 방식으로 다룰 수 있도록 제공하는 표준화된 방법 (≥ JDK 1.8)배열이나 컬렉션 뿐만 아니라 파일 데이터도 가능반복문이나 반복자(iterator)를 사용하여 개발하지 않아도 되도록 지원import java.util.Arrays;public class BasicStreamExample { public static void main(String[] args) { String[] stringArray = {"this", "is", "a", "stream", "example", "is", "this"}; Arrays.stream(stringArray).distinct().forEach(System.out::println); .. 2024. 6. 24.
[Java] 람다 표현식(Lambda Expression) 람다 표현식메서드를 하나의 식으로 표현한 것형태는 매개 변수를 가진 코드 블록이지만 런타임 시에는 익명 클래스를 생성간략하면서도 명확한 식으로 표현객체 지향보다 함수 지향 언어와 가까움(타입 매개변수) → {실행문; ...} 형태로 작성interface LambdaTest { int addOne(int i);}public class LambdaExample { public static void main(String[] args) { LambdaTest test = i -> ++i; System.out.println(test.addOne(1)); }}  람다 표현식의 특징장점코드의 간결성지연연산 수행병렬처리 가능단점불필요한 사용 시, 가독성 저하람다식의 호출이 까다로움람다 stre.. 2024. 6. 24.
[Lv.0] 프로그래머스 - 평행 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기너무 기본이지만 기울기와 평행 조건부터 다시 정리하였다. 기울기 구하는 법 어렵지 않아요!안녕하세요, 홍재룡수학학원입니다. 수평선 또는 수평면에 대한 기울어짐 정도를 나타내는 기울기! 기울기 ...blog.naver.com  두 직선의 위치관계 - 평행, 일치, 수직두 직선의 위치관계는 중학교 1학년 때 두 직선의 위치관계에서 공부했어요. 이때는 그냥 위치 관계의 종류에 대해서만 공부했죠. 평행, 일치, 수직, 한 점에서 만나는 경우요. 이 글에서는 직선mathbang.net 처음에 잘못 생각하였던 점.. 2024. 6. 21.
[Lv.0] 프로그래머스 - 겹치는 선분의 길이 : Java 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr   이해하기처음에는 lines를 앞에서부터 하나씩 가져온 후, 이를 나머지 lines과 비교하여 겹치는 영역을 더하도록 하였다.하지만 세번째 예시인 {{0, 5}, {3, 9}, {1, 10}}가 실패하였다.이 때의 풀이는 각각의 0번 인덱스를 기준으로 정렬한 후, 서로 겹치는 부분을 answer에 더해주었다. 생각해보니 문제를 잘못 이해한 것이었다.문제에서 요구한 것은 세 선분이 전부 겹친다면 위와 같이 셋의 겹치는 부분을 찾으라는 것이었다.위 그림을 보면 1부터 9까지는 점이 2개 이상이고, 그렇기에 결과가 .. 2024. 6. 21.