🔗 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번째 날의 온도보다 더 따뜻한 날이..
🔗 표 편집문제풀이문제의 "이름" 은 이해를 위한 것이므로 "index" 로 접근"이동" 은 아래처럼 각 행마다 up, down 배열을 두어 상대적 위치값으로 두도록 함 1. 삭제해당열(k)의 up, down 값을 윗행, 아랫행의 값에 넣어줌k행의 up을 아랫행의 up에, k행의 down을 윗행의 down 값으로 함up[down[k]]=up[k];down[up[k]]=down[k];삭제된 행은 복구를 위해 스택에 담음 2. 복구stack을 pop해서 얻은 행(restore)을 이용해 up, down의 값을 변경down[up[restore]]=restore;up[down[restore]]=restore; 3. 맨 위, 맨 아랫행의 삭제와 복구위, 아래의 가상으로 공간을 1칸씩 늘려 인덱스가 벗어나지 않고..
🔗 크레인 인형뽑기 게임문제풀이가까운 인형을 없애는 문제이므로 stack 을 이용해 문제를 해결한다. import java.util.Deque;import java.util.ArrayDeque;class Solution { public int solution(int[][] board, int[] moves) { // board : 인형 담긴 상태 // moves : 크레인을 작동 시킨 위치 // 사라진 인형의 개수 반환 int answer=0; Deque stack=new ArrayDeque(); // 크래인 작동 횟수 반복 for(int i=0;i
🔗 괄호 회전하기문제풀이회전은 단순히 문자열을 2배로 하면 됨 (({[]}) ➡️ ({[]})({[]}))바깥 for문 : 문자열 길이를 n 이라 하면 i=0 부터 n-1 까지 반복 (회전횟수)내부 for문 : j=i 부터 i+n-1 까지 반복닫히는 괄호(),},]) 가 들어왔을 때, 스택이 비어 있거나 괄호의 쌍이 맞지 않을 때는 올바른 문자열이 아니므로 다음 회전으로 간다.내부 for문을 모두 수행했을 때 stack에 남아있는 문자가 없다면 올바른 문자열이 맞으므로 answer 횟수를 증가한다.import java.util.Stack;import java.util.ArrayDeque;import java.util.HashMap;import java.util.Map;class Solution { ..
문제 설명10진수를 입력받아 2진수로 변환해 반환하는 solution() 함수를 구현하세요.제약 조건 : 입력값(decimal)은 1이상 10억 미만의 자연수decimal반환값10101027110111234511000000111001문제 해결10진수를 2진수로 표현하기 위해서는10진수 N을 2로 나눈 나머지 한 값을 저장하고 N은 2로 나눔몫이 0이 아니라면 나머지는 stack에 저장하고 다시 1번을 수행모든 과정이 끝나면 stack에 저장한 값을 순서대로 가져와 붙이기13을 2진수로 변환한다면...import java.util.Stack;public class Java09 { public static void main(String[] args) { System.out.println("..