![[LeetCode] 225. Implement Stack using Queues](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FJlJmj%2FbtsNailsTbs%2F7UicFhUrxCX5JjdCxCOVXK%2Fimg.png)
https://leetcode.com/problems/implement-stack-using-queues/description/✅ 문제Queue 2개를 활용하여 문제에서 주어진 Stack의 메서드를 모두 구현해야한다.📌 접근방법새로 들어온 값을 q1에 먼저 넣고, 기존에 q2에 있던 값들을 q1뒤에 모두 붙인다.그런 다음, q1과 q2를 바꿔치기 해서, q2가 항상 최신 스택 상태를 유지하게 만든다.즉, q2는 항상 스택처럼 작동하는 큐가 된다.맨 앞에 항상 스택의 top이 있도록 유지된다.🔑 풀이import java.util.*;class MyStack { Queue q1; Queue q2; public MyStack() { q1 = new LinkedList(); ..

항해99 클럽 코테 스터디 4일차 TIL - 자바 미들러 4/3 (목요일)https://www.acmicpc.net/problem/2468✅ 문제📌 접근방법 🔑 풀이import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.PriorityQueue;import java.util.Queue;import java.util.StringTokenizer;// 99클럽 코테스터디 Day4public class Main { static int N; // 지도 크기 static int[][] arr; // 지도 정보 ..
![[LeetCode] 232. Implement Queue using Stacks](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8rBcL%2FbtsM8fWi5ac%2FZaDPMXTEIwSwkpvWMp5R1k%2Fimg.png)
https://leetcode.com/problems/implement-queue-using-stacks/description/✅ 문제Stack 2개를 활용하여 문제에서 주어진 Queue의 메서드를 모두 구현해야한다. 📌 접근방법Stack과 Queue의 차이점은 데이터를 저장하고 추출하는 순서에 있다.Stack은 후입 선출(LIFO)을 기반으로 동작하는 자료구조.Queue는 선입 선출(FIFO)을 기반으로 동작하는 자료구조.처음에 후입 선출을 어떻게 선입선출로 바꿀 수 있을까 고민했다.후입 선출 자료구조에서 가장 처음 입력된 데이터는 가장 마지막 순서에 위치한다.후입 선출을 선입 선출로 만들기 위해서 후입 선출로 저장된 자료구조를 역순으로 졍렬하면 된다.어떻게 역순으로 정렬할 수 있을까?이 때 Sta..

항해99 클럽 코테 스터디 3일차 TIL - 자바 미들러 4/2 (수요일)바탕화면 정리✅ 문제문자열 배열 wallpaper 가 있다. 빈칸은 . , 파일이 있는 칸은 # 값을 가진다. 최소한의 이동거리를 갖는 한 번의 드래그로 모든 파일을 선택해서 지우려고 한다.드래그 방법드래그는 바탕화면의 격자점 S(lux, luy)를 마우스 왼쪽 버튼으로 클릭한 상태로 격자점 E(rdx, rdy)로 이동한 뒤 마우스 왼쪽 버튼을 떼는 행동입니다.이때, "점 S에서 점 E로 드래그한다"고 표현하고 점 S와 점 E를 각각 드래그의 시작점, 끝점이라고 표현합니다.점 S(lux, luy)에서 점 E(rdx, rdy)로 드래그를 할 때, "드래그 한 거리"는 |rdx - lux| + |rdy - luy|로 정의합니다.점 S에..