[JAVA]/자바[JAVA] 백준

https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 우선 문제를 읽자 마자 들었던 생각은 "도데체 뭔 소리지?" 였었다. 예시를 들며 스택 수열을 설명하겠다. 예제 입력 1과 같이 n이 8이 나왔다고 가정하자. 입력 스택 결과 수열 출력 8 stack = {} result = {} 4 stack = {1} result = {} +(push) stack = {1, 2}..
https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 처음에는 여는 괄호의 개수와 닫는 괄호의 개수가 같으면 올바른 괄호 문자열인줄 알았다. 코드를 보자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] arg..
https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 스택의 FILO을 이용하여 순서를 뒤집을 수 있으니 이를 이용했다. 문자를 읽어들이다가 공백을 만나면 읽어들이는것을 멈추고, 스택을 top에서 부터 출력한다. 자세한 내용은 코드를 보며 이해하자. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util..
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 스택 자료구조를 만드는 문제이다. 자바에 원래 존재하는 Stack을 이용하지 않고 배열과 메소드를 이용해서 구현해보겠다. import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main ..
https://www.acmicpc.net/problem/2884 2884번: 알람 시계 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, www.acmicpc.net 백준 온라인 저지(BOJ)의 첫 번째 단계인 "if문"의 마지막 문제이다. 마지막 문제답게 38%라는 낮은 정답 비율을 가지고 있다. 문제를 그냥 읽어보면 어려워 보이지는 않는데 왜이렇게 정답 비율이 낮을까? 45분 일찍 알람을 설정한다는 것은 주어진 시간에 "-45분"만 하면 되는데... 필자는 하루의 시작(자정)을 0으로 하고, 몇시 몇분 단위가 아니라, 자정으로 부터 몇분이 지났는지를 기준으로 시간을..
https://www.acmicpc.net/problem/14681 14681번: 사분면 고르기 점 (x, y)의 사분면 번호(1, 2, 3, 4 중 하나)를 출력한다. www.acmicpc.net 백준 온라인 저지(BOJ)의 첫 번째 단계인 "if문"의 네 번째 문제이다. 두 수를 입력받고 사분면 중 어느 사분면에 속하는지를 출력해주는 프로그램이다. 이때 사분면에 대해 모른다면 접은 글을 참고하기 바란다. 더보기 좌표평면을 그리게 되면, 좌표평면의 x축과 y축을 기준으로 4개의 공간이 생기게 된다. 그림으로 보면 이러하다. 오른쪽 위부터 시계 반대방향 순서대로, 제 1사분면, 제 2사분면, 제 3사분면, 제 4사분면이다. 제 1사분면은 x좌표와 y좌표가 모두 양수이다. 제 2사분면은 x좌표는 음수, y..
https://www.acmicpc.net/problem/2753 2753번: 윤년 연도가 주어졌을 때, 윤년이면 1, 아니면 0을 출력하는 프로그램을 작성하시오. 윤년은 연도가 4의 배수이면서, 100의 배수가 아닐 때 또는 400의 배수일 때이다. 예를 들어, 2012년은 4의 배수이면서 www.acmicpc.net 백준 온라인 저지(BOJ)의 첫 번째 단계인 "if문"의 세 번째 문제이다. 주의해야 할 점이 있다. 바로 윤년의 조건이다. 윤년의 조건으로는 2개가 존재한다. 4로 나누어 떨어지는 해는 윤년, 그 밖의 해는 평년으로 한다. 100으로 나누어 떨어지지만 400으로 나누어 떨어지지 않는 해는 평년으로 한다.(예: 1900년, 2100년) 이를 통해 임을 알 수 있다. 이를 바로 코드에 적용..
https://www.acmicpc.net/problem/9498 9498번: 시험 성적 시험 점수를 입력받아 90 ~ 100점은 A, 80 ~ 89점은 B, 70 ~ 79점은 C, 60 ~ 69점은 D, 나머지 점수는 F를 출력하는 프로그램을 작성하시오. www.acmicpc.net 백준 온라인 저지(BOJ)의 첫 번째 단계인 "if문"의 두 번째 문제이다. 이전 문제와 마찬가지로 if문의 기초적인 문제이다. 첫 번째 방법 - Scanner import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int score = Integer.pars..
건대다니는 컴공생
'[JAVA]/자바[JAVA] 백준' 카테고리의 글 목록 (5 Page)