🔗 오픈채팅방문제 풀이최종으로 구하고자 하는 것 ➡️ 최종으로 보는 메시지입력 값 중 수정되지 않는 것 ➡️ 유저 아이디입력 값 중 수정 되는 것 ➡️ 닉네임수정되면 영향 받는 것 ➡️ 오픈 채팅방의 내용 변경수정 되는 조건 ➡️ Enter, Change 인 경우1. userId, userName을 저장한다.2. Enter, Leave 일 경우 메시지를 저장한다.import java.util.*;class Solution { // userId,userName static Map uid=new HashMap(); // command, message static Map command=new HashMap(); // messages static List result=new A..
재귀 : 큰 문제를 해결하기 위해 동일한 유형의 더 작은 문제로 나누는 방식재귀함수 : 자기 자신을 호출하여 반복적으로 더 작은 문제를 해결하고 결과적으로 원래 문제를 해결해 감완전탐색, 동적계획법(DP), 그래프 탐색(DFS), .트리 순회와 같은 문제에 활용됨 구성 요소Base Case(기저 조건)더 이상 문제를 쪼갤 수 없거나, 답이 명확해지는 종료조건Base Case 가 없으면 재귀는 무한히 호출됨 → RecursionError 발생Recursive Call(재귀 호출)문제를 더 작은 문제로 나누고 이를 해결하기 위해 자기 자신을 호출함 1. factorial$1 \text{\textasciitilde} n$ 까지의 정수를 곱한 값public static int factorial(int n) { ..
🔗 Daily Temperatures문제 설명정수 배열 temperatures가 주어집니다. 이 배열은 매일의 기온을 나타냅니다.각 날짜 i에 대해, 그 날보다 더 따뜻한 날이 오기까지 며칠을 기다려야 하는지를 계산하여 배열 answer에 담아 반환하세요.만약 더 따뜻한 날이 없다면, answer[i] = 0으로 설정합니다. 예시 1입력: temperatures = [73, 74, 75, 71, 69, 72, 76, 73]출력: [1, 1, 4, 2, 1, 1, 0, 0]예시 2입력: temperatures = [30, 40, 50, 60]출력: [1, 1, 1, 0]예시 3입력: temperatures = [30, 60, 90]출력: [1, 1, 0] 문제 풀이각 i번째 날의 온도보다 더 따뜻한 날이..
JDK (Java Development Kit)JRE + 컴파일러(javac) + 개발 도구(javadoc, jshell 등)Java 소프트웨어를 개발하기 위한 도구 JRE (Java Runtime Environment)JVM + 라이브러리 + 제한된 도구개발 오버헤드 없이 실행환경만 제공Java 실행환경 구성과 Java 애플리케이션을 실행할 수 있도록 구성,JRE만 있으면 어느 프로그램이든 실행가능(이식성)컴파일해 생성된 클래스 파일을 JRE에 클래스 로더에서 로드하고, 필수 라이브러리를 결합해 JVM에 올리는 역할 JVM (Java Virtual Machine)애플리케이션 실행 환경스레드 생성, 실행, 스케줄링 담당스레드 간 상호작용 관리동기화 메커니즘 제공자바 가상 머신(Java Virtual Ma..
🔗 할인 행사import java.util.*;class Solution { public int solution(String[] want, int[] number, String[] discount) { // want : 원하는 제품 // number : 원하는 제품의 수량 // discount : 할인 제품 Map map1=new HashMap(); for(int i=0;i map2=new HashMap(); for(int j=i;j