본문 바로가기

전체 글82

[java] Map 특징 + 사용법 📌Map 알아보기 ◾Map이란 자바에서 Map은 키와 값을 쌍으로 저장하는 자료구조를 나타낸다. 인터페이스를 구현하는 클래스로는 대표적으로 HashMap, TreeMap, LinkedHashMap 등이 있다. ◾Map 특징 - Map 인터페이스를 구현한 클래스들은 키와 값을 하나의 쌍으로 저장하는 방식을 사용한다. - 요소의 저장 순서를 유지하지 않는다. - key는 중복을 허용하지 않고, value는 중복을 허용한다. - 동일한 key값으로 넣을 시 최근에 넣은 값이 적용된다. 💡HashMap은 저장 순서를 유지하지 않으나, LinkedHashMap은 저장된 순서를 유지한다. 순서가 중요한 경우에는 LinkedHashMap을 사용하는 것이 좋다. ◾Map(HashMap) 사용하기 본 글에서는 가장 많이.. 2024. 2. 16.
[algorithm] 백준 1822 차집합 ◾문제 차집합 레벨: 실버4 유형: 자료구조 / 정렬 / 해시를 사용한 집합과 맵 / 트리를 사용한 집합과 맵 https://www.acmicpc.net/problem/1822 ◾풀이 TreeSet을 이용하여 풀이하였다. 문제이해 집합 A와 집합B가 주어질 때 집합 상 A - B인 차집합, 즉 A원소에서 B원소와 겹치는 부분을 제외한 부분을 구하는 문제이다. 아래와 같은 부분을 구하는 문제이다. TreeSet 사용하기 집합이므로 중복된 원소를 저장할 필요가 없으므로 Set을 이용하는 것을 생각하게 되었고, HashSet이 아닌 TreeSet을 사용하였다. 왜 TreeSet을 사용하였을까? 이유는 출력 조건에서 "구체적인 원소를 빈 칸을 사이에 두고 증가하는 순서로 출력한다" 라고 하였기 때문이다. Set.. 2024. 2. 11.
[algorithm] hash 백준17219 비밀번호 찾기 ◾문제 비밀번호 찾기 레벨: 실버4 유형: 해시 https://www.acmicpc.net/problem/17219 ◾풀이 해시에 대한 개념을 알고 있다면 어렵지 않게 풀 수 있는 문제이다. 문제이해 문제가 길지만 문제 길이에 비하여 풀이는 간단한 문제이다. 사이트와 비밀번호를 쌍으로 저장하고, 주어지는 사이트들에 대한 비밀번호를 출력하면 된다. HashMap 사용하기 문제에서 사이트 - 비밀번호라는 정보를 '쌍'으로 저장해두고, 사이트가 주어질 때 해당하는 비밀번호를 찾아 출력해주면 된다. 이는 Map을 활용하면 제격이다. Map인터페이스를 구현한 구현체인 hashMap을 활용하여 이 문제를 쉽게 풀 수 있다. Map선언하기 hshMap은 키(key)와 값(value)을 쌍으로 저장하는 자료구조이다. .. 2024. 2. 10.
[lombok] 자주 사용하는 lombok 어노테이션 지난 글에서는 생성자를 자동으로 생성해주는 어노테이션에 대해 알아보았다. 이번 글에서는 Getter/Setter와 같이 빈번히 사용되는 유형들의 롬복 어노테이션에 대해 알아볼 것이다. 📌 lombok 주요 어노테이션 ◾ 생성자 생성 생성자 자동 생성은 지난 시간에 알아보았지만 다시 간단히 정리하면 아래와 같다. 자세한 설명은 아래 링크를 참조할 수 있다. 2024.02.03 - [웹 개발/java] - [lombok] 생성자 생성 어노테이션 3가지 생성자 자동 생성 @NoArgsConstructructor 매개변수가 없는 기본 생성자를 생성해준다. @AllArgsConstructor 모든 필드 값을 매개변수로 받는 생성자를 만들어준다. @RequiredArgsConstructor final이나 @NonN.. 2024. 2. 6.
[Intellij] 인텔리제이 캐시 삭제 및 재시작하기 프로젝트가 잘 진행이 되지 않을 때 해볼 수 있는 방법 중 하나로, 캐시를 삭제하고 재시작하는 방법이 있다. 이번 시간에는 인텔리제이에서 이를 해보는 방법에 대해 알아볼 것이다. ◾인텔리제이 캐시 삭제 · 재시작 1. 인텔리제이 좌측 상단에서 File - Invalidate Caches를 클릭한다. 2. 아래와 같은 창이 나타난다. (현재 24년 인텔리제이 기준) 추가적으로 원하는 옵션이 있다면 선택하고 Invalidate and Restart를 누른다. "캐시 무효화 대화 상자 에서 캐시 파일을 제거하는 동안 IDE가 수행할 추가 작업을 선택할 수 있습니다." - IntelliJ 공식문서 3. Exit을 누른다. 프로젝트가 닫히고 다시 재실행되는 것을 확인할 수 있다. 공식문서 https://www.j.. 2024. 2. 4.
[lombok] 생성자 생성 어노테이션 3가지 이번 시간에는 lombok라이브러리에서 제공하는 생성자를 자동으로 생성해주는 3가지 어노테이션에 대해 알아보고자 한다. 롬북의 의미에 대해 알아보고 생성자를 생성해주는 각각의 어노테이션의 역할에 대해 알아볼 것이다. 📌lombok ◾lombok이란? Java 의 라이브러리 중 하나로, 반복적이고 상투적인 코드를 줄이기 위한 어노테이션 기반의 라이브러리이다. 많이 사용되는 Getter/Setter나 생성자 등의 코드를 컴파일 과정에서 생성해주는 방식으로 동작하는 라이브러리이다. 개발자는 lombok의 어노테이션을 통해 간결하고 가독성 있는 코드를 작성할 수 있고, 개발의 생산성을 향상시킬 수 있다. 예를 들면 DTO와 같이 자주 변경되는 클래스의 경우 멤버 변수가 추가되거나 없어질 때마다 일일히 Gette.. 2024. 2. 3.

/* 내가 추가한 코드 */ /* 내가 추가한 코드 끝끝 */