전체 글149 [백준] JAVA 자바 : 후위 표기식2 (1935번) 후위 표기식을 구현하는 문제이다. 사실 알파벳 마다 숫자를 대응시키는 것만 잘 해줬다면 큰 어려움 없이 쉽게 풀 수 있을 듯? 나 같은 경우에는 N개 만큼 배열 n_list를 만들어서 알파벳 A를 입력받으면 n_list[(int)A-65]에 그 수를 담고, 이후에 알파벳을 만나면 그 배열에서 수를 꺼내서 스택에 담는 형태로 코딩했다. 사실 나는 후위표기식에서 처음 pop()한 수가 오른쪽 피연산자가 되는 줄 모르고 계속 왼쪽에 두고 짰다가 이상한 결과가 나와서… 이번 기회에 제대로 배워간다… import java.io.*; import java.util.Stack; public class Postfix2_1935 { public static void main(String[] args) throws IOE.. 2024. 1. 20. [백준] JAVA 자바 : 오등큰수 (17299번) 앞에서 공부했던 오큰수의 심화 버전이다. 오큰수는 그냥 단순히 수를 비교하면 됐는데, 오등큰수의 경우에는 수의 개수를 비교해야 한다. 사실 앞에 오큰수는 혼자 해결할 수 없어서 구글링을 해서 공부했는데, 그 방식을 머릿속에 익힌 뒤에 그걸 좀 응용해서 오등큰수를 해결했다. 어떻게 해결했냐? 사실 앞에서 배운 오큰수와 거의 같은 알고리즘을 사용한 것 같긴 한데… 차이점은 바로 n_list라는 빈도 수를 저장하는 배열을 만들어서 스택에서 요소를 꺼내면 그 요소끼리 비교하는 게 아니라, 그 요소의 빈도 수를 저장한 n_list[요소]를 비교하게 하는 거다. 자세한 건 아래의 코드에 주석을 참고하십셔! package BJoon.자료구조1; import java.io.*; import java.util.Stack.. 2024. 1. 20. [백준] JAVA 자바 : 오큰수 (17298번) 백준으로 공부하면서 부딪힌 첫 난관… 아무리 진짜 그 어떤 방법을 써도 난 n제곱에서 시간을 줄일 방법이 기억이 안 나서… 다른 분 블로그를 참고했다. [알고리즘] 백준 17298 오큰수 Java 문제 정보플랫폼 : 백준분류 : Stack (스택)난이도 : 골드 4링크 : https://www.acmicpc.net/problem/9184시간제한 및 메모리 제한 검증O(n) 풀이자료형 : 최대 1백만, int풀이스택을 두개 사용한다. 한 개는 정답 velog.io 진짜 도대체 이 문제를 스택으로 어떻게 푸는 건가 했는데… 이런 방법이 있었다니… 어떻게 어떻게 문제를 풀긴 했는데 사실상 내가 푼 게 아니라 거의 베꼈다고 봐도 무방하다. 하 진짜 아직도 난 부족한가?? 진짜 절망스럽네 ㅋㅋㅋ 고작 골드에서 막.. 2024. 1. 20. [백준] JAVA 자바 : 쇠막대기 (10799번) 여러 길이의 막대기를 여러 개 입력 받아 레이저로 잘랐을 때, 최종적으로 몇 개의 막대기가 생기는지 묻는 문제이다. 처음에 문제만 읽었을 땐 진짜 완전 어려워 보였는데… 막상 생각을 좀 하니 알고리즘이 슉슉 떠오르던 생각보다 쉬운 문제였다…! 어떻게 풀었냐??! 그건 아래의 코드에 주석을 다 달아놨으니 코드를 보십셔! import java.io.*; import java.util.Stack; import java.util.Queue; import java.util.LinkedList; public class IronStick_10799 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR.. 2024. 1. 20. [백준] JAVA 자바 : 단어 뒤집기 2 (17413번) 앞에서 만들었던 단어 뒤집기의 심화 버전이다. 사실 앞에서 만들었던 단어 뒤집기는 스택만 쓰면 공백만 잘 처리해주면 쉽게 구현할 수 있었다. 이번 경우는 을 사용하는 주석이 추가돼서 저 주석은 그대로 출력해줘야 한다. 그래서… 이번에는 큐를 사용해야 할 듯! import java.io.*; import java.util.Stack; import java.util.Queue; import java.util.LinkedList; public class ReverseWord2_17413 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys.. 2024. 1. 20. [백준] JAVA 자바 : 덱 (10866번) 덱을 구현하는 문제이다. 사실 덱은 큐의 상위 호환 버전이라… 앞에서 구현했던 큐에서 앞뒤에서 모두 뺄 수 있게만 수정해주면 된다. 그래서 요소의 개수를 나타내는 변수 pot만 잘 이용한다면 큰 어려움 없이 구현할 수 있을 듯? import java.io.*; class Deque { static int[] list; static int n; static int pot = 0; // 덱에 담긴 요소의 개수 public Deque(int N) { this.n = N; this.list = new int[N]; } public void push_front(int e) { if (pot == n) { // 배열이 꽉 찼을 경우 늘려주는 과정 int[] tmp_list = new int[2*n]; for (in.. 2024. 1. 20. 이전 1 ··· 17 18 19 20 21 22 23 ··· 25 다음 반응형