전체 글

웹 프론트엔드 개발자 입니다.
입력 갯수와 동일한 사이즈의 어레이 생성, -1로 초기화하여 오큰수 저장 입력받은 수열을 어레이에 저장하고, 크기가 같은 어레이를 생성하여 -1로 초기화 함. 수열의 인덱스0부터 반복문을 돌며 스택에 인덱스를 저장함. 스택의 최상단 인덱스에 해당하는 수보다 큰 수가 나타나면, 이 수가 오큰수가 되므로, 오큰수를 새로 생성한 어레이의 최상단 인덱스에 저장한다. 오큰수를 찾으면 스택에서 뺀다. 이 방법으로 한번만 반복문을 돌면 되므로, 시간복잡도 O(N)이다. package com.company; import java.io.*; import java.util.*; public class BOJ17298 { public static void main(String[] args) throws IOException..
Queue 구현하기(push,pop,size,empty,front,back) Queue는 인터페이스이므로 LinkedList클래스를 사용한다. 스택과 구현방법이 거의 같다. back을 위한 메서드가 없기 때문에 직접 구현한다. push할 때 입력값을 last변수에 저장하면 가장 최근 입력값으로 갱신되므로, back일 때 last를 출력해주면 가능하다. package com.company; import java.io.*; import java.util.*; public class BOJ10845 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRea..
Sout 사용 시 시간초과, BufferedWrite로 변경 BufferedWrite사용 시, 버퍼에 모아서 한번에 출력하므로 빠르다. System.out.print는 즉시 출력하므로 느리다. BufferedWrite 사용 출력이 더 빠르다. package com.company; import java.io.*; import java.util.*; public class BOJ10828 { public static void main(String[] args) throws IOException { Scanner sc=new Scanner(System.in); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int t = ..
스택사용하여 쇠막대 레이저로 절단하기 스택에 쇠막대 시작기호를 쌓는다. 레이저가 나오거나, 쇠막대가 끝나면 조각 갯수를 늘린다. 레이저가 나오면, 조각 갯수에 스택에 쌓인 시작갯수를 추가한다. 쇠막대가 끝나면, 조각 갯수에 +1하고 스택에서 하나 꺼낸다. package com.company; import java.io.*; import java.util.*; public class BOJ10799 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter..
nextInt() 사용 후 nextLine() 사용 지양 nextLine: 줄바꿈 바로 다음부터 입력받음 nextInt: 한 토큰을 입력받은 후 \n를 제거하지않음, nextInt 사용 후 nextLine를 사용시, String에 \n가 저장되는 문제 발생 package com.company; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.*; public class BOJ9093 { public static void main(String[] args) throws IOException { Scanner sc=new Scanner(System.in); B..
출력에서 마지막 \n은 채점에 영향을 주지않음. 여러개의 테스트케이스를 처리할 때, 초기화 유의 package com.company; import java.io.BufferedWriter; import java.io.IOException; import java.io.OutputStreamWriter; import java.util.EmptyStackException; import java.util.Scanner; import java.util.Stack; public class BOJ9012 { public static void main(String[] args) throws IOException { Scanner sc=new Scanner(System.in); BufferedWriter bw = new..
RED BEAN
REDBEAN