본문 바로가기

백준 문제풀이21

[백준] 14235번 문제를 먼저보자! 그리 어렵지 않은 문제이다.힌트 : 우선순위 큐(PriorityQueue) 사용 코드package src.week3;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.Collections;import java.util.PriorityQueue;import java.util.StringTokenizer;public class S14235 { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader bf = new BufferedRe.. 2024. 7. 13.
[백준]7568번 막상 푸는건 얼마 걸리지 않았는데 다 풀고나니 좀 어렵게 푼 느낌이 있다.처음에 세팅을 2차원 배열로 해주고등수를 저장하는 1차원 배열을 따로 만들어주었다.자기자신을 검사하는 것을 막기위해 if(i != j)를 추가해주었다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.StringTokenizer;public class b7568 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReade.. 2024. 4. 29.
[백준] 2941번 어렵지않다.. 어렵게 생각해서 짜면 손해다힌트는 어떤 크로아티아 알파벳이든 1글자로 치환이 된다. import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class b2941 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String[] arrStr = new String[] {"c=", "c-", "dz=", "d-", "lj", "nj", "s=", "z="};.. 2024. 4. 27.
[백준]2164번 아주 기초적인 Queue에 대한 문제이다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; public class b2164 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); Queue q = new LinkedList(); int n = Integer.parseInt(bf.readLine()); for(.. 2024. 4. 22.
[백준]11718 기본기가 부족하다면 햇갈릴 수 있을만한 문제이다.scanner을 사용 시 hasNextToken() 을 사용하면 간단히 해결됩니다. 저는 BufferedReader을 사용해서 풀었습니다.import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;public class b11718 { public static void main(String[] args) throws IOException { BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); String str ; .. 2024. 4. 21.
[백준] 1009번 위 문제는 중학교 때 배운 공식을 알고있으면 편하다. 거듭제곱일 경우에 1의 자리가 반복되는 상황이 발생한다 예를들어 밑이 2인경우에 2¹, 2², 2³, 2⁴, 2⁵ ... 2 , 4 , 8, 16, 32 ... 뒤 일의 자리 수만 본다면 2,4,8,6 이 반복되는 것을 알 수있다. 이것은 2~9까지 모두 반복되는 경우가 있으며 주기가 정해져있다. 또 예를들면 5는 몇 제곱을 해도 무조건 5가 나오는 1주기 이고, 위에 2같은 경우는 4주기이다. 4는 4¹, 4², 4³, 4⁴, 4⁵ ... 4, 16, 64,256, 1024.... 로 4, 6, 4, 6 이 반복되는 2주기임을 알 수 있다. 이런 공식을 파악하고 있다면 금방 해결할 수 있다. import java.io.BufferedReader; i.. 2024. 4. 20.
[백준] 9012번 이번 문제는 Stack 자료구조에 관한 문제이다. 하지만 저는 Stack을 굳이 써야할까? 라는 생각이들어서 안쓰고 풀어보자 하여 변덕으로 풀었습니다. 문제의 기본 방식은 Stack으로 push, pop을 사용하여 정상적으로 Stack이 비어있으면 YES 출력 아니면 NO입니다. 위 방식이 정석이고 제가 푼 방법은 위 방식에서 ' ( ' 여는 괄호가 나오면 +1 ' ) ' 닫는 괄호가 나오면 -1 입니다. 이렇게 0이면 YES를 출력 아니면 NO를 출력 하지만 여기서 Stack은 0 이하로 내려가지 않는 점을 고려하고 0 이하로 내려가지 않는 조건을 고려하면 닫는 괄호만 나왔을 시 0이기 때문에 따로 조건을 만들어 주었습니다. 추가적인 조건은 result 가 0이 아닐 때 빼주고 닫는 괄호와 여는 괄호의.. 2024. 4. 18.
[백준]10773 이번 문제는 자료구조인 Stack을 이해하고 있다면 별 고민없이 바로 풀리는 문제이므로 힌트는 없다.. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; public class b10773 { public static void main(String[] args) throws IOException { Stack s = new Stack(); BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(bf.readLine()); int.. 2024. 4. 15.
[백준] 4673번 각 자리의 수만 구하면 된다. 예를들어 2356일시 2356 + 2+ 3+ 5+ 6 인 것이다. 그리고 생성자가 없을 시 출력하는 것이니 이것을 구분해줘야 하는게 팁이다. public class b4673 { public static void main(String[] args){ int result = 0; int t1=0; //1의 자리 int t10=0; //10의 자리 int t100=0; //100의 자리 int t1000=0; //1000의 자리 boolean[] bArr = new boolean[10000]; //true,false로 출력을 구분 for(int i = 1; i 2024. 4. 12.