본문 바로가기

분류 전체보기126

[Java] Stream 스트림으로 중복 값 찾기 Stream Java 8 부터 도입된 Stream을 이용해서 중복 값을 찾는 방법을 알아보자. 방법 ✔️1. Stream.distinct() disticnt() 메서드는 중복되는 요소들을 제거하고 새로운 스트림을 반환한다. 📌 중복된 값을 제거하고 List 반환하기 List list = Arrays.asList("A", "B", "B", "C", "D", "D"); List distinctList = list.stream() .distinct() .collect(Collectors.toList()); // 결과 // [A, B, C, D] 📌 중복된 값이 무엇인지 찾기 List list = new ArrayList( Arrays.asList("A", "B", "B", "C", "D", "D") ); Li.. 2023. 2. 22.
[Java] Optional 개념, 사용법 Optional이란? Java8부터 지원하는 Optional class에 대해 기록하려고 한다. 개발하다 보면 정말 자주 만나게 되는 예외가 바로 NPE(NullpointerException)다. NPE를 내뱉지 않게 하려면 null-safe하게 만들기 위해 null여부를 꼼꼼하게 검사해야 된다. 하지만 그렇게 하다보면 코드가 복잡해지고, 가독성은 떨어지고, 각 변수마다 null값 체크하다보면 프로그래머의 실수로 놓치는 부분이 생길 수 있다. Optional는 null이 올 수 있는 값을 감싸는 Wrapper 클래스로, 참조하더라도 NPE가 발생하지 않도록 도와준다. Optional 을 이용하면 위 문제들을 해결할 뿐만 아니라, 가독성 좋고 NPE를 방지하는 코드를 만들 수 있다. Optional 활용하.. 2023. 2. 21.
jQuery를 바닐라 JS(Vanilla JS)로 변환하기 Pure Javascript 상황 프로젝트를 진행하면서 스크립트를 짤 때, 나는 대부분 jQuery를 이용했다. 가독성이 좋고, 편하다는 이유로 순수 자바스크립트로 코드를 작성하는 것을 미루고 있었다. 순수 자바스크립트로 작성하는 비중을 늘리기 위해, jQuery를 바닐라 JS(Pure JS)로 변환해보려고 한다. 적용 ✔️1. 선택자( Selector ) 1) 단순 선택자 DOM 요소를 선택하는 것은 가장 기본적인 요소 중 하나이다. $(selector) -> querySelector() 또는 querySelectorAll() // jQuery(.className모두 선택) $(".className"); //.className의 첫번째 인스턴스 선택 document.querySelector(".className"); //.clas.. 2023. 2. 16.
[프로그래머스] 신규아이디 추천 import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; class Solution { public String solution(String new_id) { String answer = ""; List availStr = new ArrayList(Arrays.asList("-", "_", ".")); String id = new_id.toLowerCase(); // 1단계 List eachList = new ArrayList(); for(int i=0; i { return Character.isLowerCase(each) || (Character.isDigit(each)).. 2023. 2. 13.
[프로그래머스] 키패드 누르기 import java.util.*; import java.util.concurrent.atomic.AtomicInteger; import java.util.stream.Collectors; class Solution { public String solution(int[] numbers, String hand) { String answer = ""; int[] left = new int[]{1,4,7}; int[] right = new int[]{3,6,9}; int tempLeft = 10; int tempRight = 12; for (int i=0; i< numbers.length; i++) { if(numbers[i] == 0) numbers[i] = 11; } for (int num : number.. 2023. 2. 13.
[프로그래머스] 크레인 인형 뽑기 게임 import java.util.*; class Solution { public int solution(int[][] board, int[] moves) { int answer = 0; List list = new ArrayList(); for (int place: moves) { for(int i=0; i 1 && (list.get(list.size()-2) == pick)) { // list안에 2개 이상이면 비교 && 직전 인형 = 고른 인형 answer++; list.remove(list.size()-1); list.remove(list.size()-1); } break; } } } return answer * 2; } } 2023. 2. 13.