전체 글(61)
-
[LeetCode] 739. Daily Temperatures
[목차] 1. 문제 설명 2. 풀이 설명 3. 문제 풀이 source 3.1 python 3.2 java 1. 문제 설명 문제를 조금 설명하자면 날씨 온도의 정보가 들어온다. temperatures 배열이고 저 온도배열에서 첫번째부터 날짜이다. 즉 첫번째 날에는 73도라고 이해하면 된다. 기준이 되는 날짜부터 온도가 올라가는 날이 며칠인지 구하는 문제이다. 예를 들면 [30,40,20,50] 이라는 배열이 있으면 첫째날 30도의 기준으로 보면 다음날이 40도라서 1일만 기다리면 온도상승이 된다. 따라서 output=[1,0,0,0]이 기록될 것이다. 두번째 40도인 둘쨋날을 기준으로 보면 다음날 온도가 20도라서 낮아서 무시하고 그 다음날인 넷째날 50도라서 40도보다 높기 때문에 둘째날부터 넷째날에 온..
2024.03.14 -
[LeetCode] 20. valid Parentheses 문제풀이
[목차] 1. 문제 설명 2. 문제 생각 2.1 풀이 설명 2.2 성공케이스 설명(예제1) 2.3 실패케이스 설명(예제3) 3. 문제 풀이 3.1 Python 3.2 Java 1. 문제 설명 이 문제는 괄호({}, (), []) 를 입력받아서 괄호가 열고 닫는 것을 잘 매칭이 되는냐를 확인하는 문제이다. 2. 풀이 생각 2.1 풀이 설명 이 문제는 자료 구조 Stack을 이용하는 아주 유명한 문제이다. Stack을 이용한다는 생각을 못했을 때에는 진짜 엄청 머리 아프게 풀었다.. 다양한 경우의 수가 있어서.. for문과 if문을 얼마나 썼던지.. 하지만 Stack을 이용하면 진짜 코드도 간단하고 생각도 간단하게 풀수 있다. 아래 예를 들면 괄호 입력을 성공 케이스와 실패케이스로 설명해보겠다. 1) 괄호 ..
2024.03.10 -
Linked List는 무엇인가?
[목차] 1. LinkedList란 무엇인가? 2. LinkedList를 구현하려면 Node가 필요하다 2.1 python Node구현하기 2.2 java Node 구현하기 3. LinkedList를 소스로 구현해보자 3.1 python LinkedList 구현해보기 3.2 java LinkedList 구현해보기 4. BigO표기 1. LinkedList란 무엇인가? 일단 LinkedList란 말 그대로 연결된 리스트라는 뜻이다. 그렇다면 리스트란 무엇인가? 리스트란 데이터를 연속적으로 저장하는 자료구조이다. 나무 위키에서 본 리스트의 정의는 아래와 같다. 추상적 자료형, 자료구조의 하나. 순열(Sequence)이라고도 불리며, 순서를 가지고[1] 일렬로 나열한 원소들의 모임으로 정의한다. 순서가 있다는..
2024.02.11 -
Strategy(전략) 패턴
[목차] 1. 전략패턴에 대해 알아보자 2. 전략패턴은 왜 필요할까? 3. 코드로 구현해보자 3.1 파트너 수수료 3.2 파트너 수수료 코드 설명 3.3 새로운 요구사항 "딜러라는 파트너 추가해주세요!" 3.4 새로운 요구사항에 맞추어서 코드 설명 4. 전략패턴으로 구현한 파트너 수수료금액 구하기 4.1 전략패턴 다이어그램 4.2 전략패턴 Source code 4.3 전략패턴 Source code_Dealer 추가 5. 결론 1. 전략패턴에 대해 알아보자 전략패턴(StrategyPattern)은 알고리즘군을 정의하고 캐슐화해서 각각의 알고리즘군을 수정해서 쓸 수 있게 해줍니다. 전략패턴을 사용하면 클라이언트로부터 알고리즘을 분리해서 독립적으로 변경할 수 있습니다. - 헤드퍼스트 디자인 패턴 60p - 헤..
2024.02.10 -
순수 Java Project에서 Logback 사용할 수 있을까?
[목차] 1. 글을 쓴 이유 2. logback 설정방법 3. logback 사용방법 4. (추가) 로그에 색깔 넣기 1. 글을 쓴 이유 System.out.println 보다 log로 코드결과 값을 확인하고 싶어서 java project에 추가하려고 하니 스프링 설정 프로젝트에서만 글이 많이 나오고 자바 프로젝트에 대해서는 나오지 않았다. 그 이유를 혼자서 생각해보니 디버거를 하면 되서 log를 찍을 필요가 없지 않았을까라는 생각을 해본다. 하지만 알고리즘 풀면서 log에 찍고 싶었고 어차피 로그 설정하는 방법을 알아보고자 해서 한번 설정을 해본다. 2. logback 설정방법 먼저 gradle 프로젝트로 이루어진 자바프로젝트가 있다면 그걸로 설정할 것이다. 먼저 gradle logback을 찾아봐야해..
2024.02.07