전체 글
-
Java 1158 요세푸스카테고리 없음 2023. 5. 2. 04:07
풀이 : 큐를 사용하여 k-1번째 까지 poll과 offer를 진행하며 k번째에는 poll만 하여 StringBuilder에 추가해주었습니다. 처음에는 큐를 직접 배열로 구현하여 사용하였는데 배열의 크기가 고정적이라 ArrayIndexOutOfBounds 에러가 나서 자바에서 제공하는 Queue를 LinkedList로 구현하여 해결하였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { publi..
-
Java 10845 큐PS 2023. 5. 2. 02:38
풀이 : int형 배열로 큐의 기능을 하는 CustomQueue 클래스를 구현하여 해당 문제를 풀이하였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static class CustomQueue { int[] queue; int begin; int end; public CustomQueue(int n){ this.queue = new int[n]; this.begin = 0; this.end = 0; } public void push(int n){ end++; queue[end-1] ..
-
Java 1406 에디터PS 2023. 5. 2. 01:40
풀이 : 두개의 스택을 생성한 뒤 커서의 이동은 왼쪽에 있는 스택을 pop한 뒤 오른쪽 스택에 push 하는 식으로 커서의 이동을 구현하였고, 값의 추가와 삭제는 간단하게 왼쪽 스택에 있는 값들만 push, pop하는 식으로 진행하였습니다. 마지막에는 왼쪽 스택에 있는 값들을 오른쪽 스택으로 푸쉬한 뒤에 오른쪽의 스택에서 값들을 StringBuilder에 추가하여 출력하였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static class CharStack { char[] stac..
-
Java 1874 스택 수열PS 2023. 5. 1. 21:23
풀이 : int형 배열로 스택을 구현한 뒤 push로 스택에 값을 쌓아준 뒤 pop을 할 때 수열의 값과 top의 값이 일치하는지 확인하는데 여기서 일치하는 값을 찾지 못한다면 boolean값을 false로 한 뒤 마지막에 bool값이 false이면 NO를 아니면 연산기호를 출력한다 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { static class NumberStack { int[] stack; int size; public NumberStack(int n){ this.stack = new int[n]; this.size = -1; } public..
-
Java 9093 단어 뒤집기PS 2023. 5. 1. 17:13
풀이 : 간단하게 char형 배열의 스택을 구현한 뒤 토큰의 갯수를 구하여 단어별로 스택에 push, pop을 하여 역순으로 정렬된 단어를 StringBuilder에 추가하여 출력하였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static class CharStack { char[] stack; int size; public CharStack(){ this.stack = new char[20]; this.size = -1; } public void push(char ch){ siz..
-
Java 10828 스택PS 2023. 4. 29. 03:38
풀이 : 스택을 구현할 클래스를 만들어 int형 배열을 생성한 뒤 기능들을 구현하였습니다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static class Stack { private int n = 0; private int[] stack; public Stack(int size){ stack = new int[size+1]; } public void push (int x){ stack[n+1] = x; n++; } public int pop(){ if(n == 0){ return -1..
-
Java 10810번 문제. 공넣기PS 2023. 4. 20. 02:55
문제 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 들어있지 않으며, 바구니에는 공을 1개만 넣을 수 있다. 도현이는 앞으로 M번 공을 넣으려고 한다. 도현이는 한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, 정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. 만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다. 공을 넣을 바구니는 연속되어 있어야 한다. 공을 어떻게 넣을지가 주어졌을 때, M번 공을 넣은 이후에 각 바구니에 어떤 공이 들어 있는지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N (1 ≤ N ≤ 10..
-
로그 (Log)Spring 2023. 4. 3. 00:56
# 로그의 기본 코딩을 하다보면 출력결과를 확인하고 싶을 때 `System.out.println`을 사용하여 콘솔에 결과를 찍는데, 실무에서는 이런 경우가 없고 다 로그로 확인한다. *로그* Slf4j 인터페이스와 스프링에서 제공하는 Logback으로 구현하여 사용하는 경우가 대부분이다. *로그 레벨* 로그 레벨으로는 trace - debug - info - warn - error 순으로 올라갈수록 레벨이 올라간다. 그래서 개발서버에서는 debug로 설정하고 로그를 확인하고 운영서버에서는 info레벨부터 로그를 남긴다. 설정하는 방법은 `application.properties`에서 설정할 수 있다. *장점* * 쓰레드 정보, 클래스 이름 같은 부가정보를 확인할 수 있고 출력 모양이 조절 가능하다. * ..