java 205

17299. 오등큰수 (자바, Java)

앞선 오큰수 문제와 거의 같다. 다만 오큰수에서는 값 자체를 비교했고, 오등큰수는 등장횟수로 비교한다. 값을 Map자료형으로 이용해 각 숫자를 key로, 등장횟수를 value로 받아 활용하였다. 나머진 오큰수와 같은 방식으로 풀었다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashMap; import java.util.Map; import java.util.Stack; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStre..

백준 문제풀이 2022.11.20

17298. 오큰수 (자바, Java)

아직 골드문제는 너무 어렵다. 풀이를 참고함. 스택에 값을 저장하는게 아니라, 스택에 index를 저장하는 방법으로 풀이. 더 큰값이 나오는 경우, 오큰수로 해당 index를 pop하여 오큰수로 배열값을 덮어씌운다. 스택이 비었다면, 오큰수가 없으므로 -1을 넣어준다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n ..

백준 문제풀이 2022.11.20

10799. 쇠막대기 (자바, Java)

처음에 엄청 어렵게 느껴졌는데, 막상 풀때는 생각보다 풀만했다. 각 예제에 있는걸 그림을 그려서 이해했다. 그리고 각 입력값별로 끊어보면서 카운팅을 직접 했다. 선입선출의 큐를 이용해서 풀었다. 레이저에 해당하는 ()는 임의의 다른 문자로 변환하여 (, ), 레이저(풀이 코드상에선 /) 3가지 경우로 나누었고, 각 경우마다 어떤게 나오냐에 따라 조각 수를 계산하여 풀었다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class Main { public static void main(String[] args) throws Exce..

백준 문제풀이 2022.11.20

1158. 요세푸스 문제 (자바, Java)

이거 꽤 어려웠다...그래서 그냥 정답봤다. 큐에 값들이 아닌 순번을 저장하고, 값들은 배열로 저장한다. 제거할때마다 큐를 빼주면서 배열값을 불러와 출력한다. 한명만 남으면, 마지막 값으로 받은 뒤 문닫고 출력한다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new Inpu..

백준 문제풀이 2022.11.05

10845. 큐 (자바, Java)

큐의 매소드콜 기능을 익히는 입문문제. 스택때와 비슷하다. 처음 큐를 배우는 사람이면, 매우 큰 도움이 될 것. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Queue queue = new LinkedList();..

백준 문제풀이 2022.11.05

1406. 에디터 (자바, Java)

보기에는 기본적인 연습문제같아보였는데, 생각보다 쉽진 않았다. 커서의 앞, 뒤 각각의 스택을 만들고, 커서가 한 방향으로 이동시, 해당 방향으로 스택을 뺴주고, 반대방향은 스택을 채워주는 식으로 커서의 위치를 확정했다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); int m ..

백준 문제풀이 2022.11.05

1874. 스택 수열 (자바, Java)

처음에 상당히 난해하게 느꼈던 문제. 문제가 뭐냐면, 중간에 내려가게 되면 peek값은 내려가지만, 그 후에 다시 올라가는 경우 기준값은 그전에 스택에 쌓였던 값 중 최대값이 된다. 따라서 최대값만 기억해주면 크게 어렵지는 않다. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br...

백준 문제풀이 2022.11.05

9012. 괄호 (자바, Java)

스택을 써도되고, 큐를 써도 되고 사실 안쓰고 count 변수 선언해도 별 상관은 없다. 한글자씩 순서대로 따져보면서 ( 가 나오면 스택에 쌓고, )가 나오면 스택에서 빼는데, 뺄 값이 없으면 NO를 출력, 완주하면 YES를 출력해준다. 출력값 대소문자 구분 못해서 한번 틀림. import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Stack; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); i..

백준 문제풀이 2022.11.05