목록분류 전체보기 (241)
곽로그
문제 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 코드 package queue; import java.util.ArrayList; import java.util.Scanner; class Queue{ ArrayList queue; public Queue() { queue=new ArrayList(); } public void push(int X) { queue.add(X); } public int pop() { if(this.size()>0) { retu..
https://www.acmicpc.net/problem/9012 9012번: 괄호 문제 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(conc www.acmicpc.net 문제 단계별 문제에 있는 '스택'문제를 그대로 가져와서 썼다. 이 문제의 요점은 (을 입력받으면 push, )를 입력받으면 pop을 하는 거..
https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다. www.acmicpc.net 문제 기본문제. 명령어를 입력받을 때 if를 쓰거나 swich문을 쓰거나 import java.util.Scanner; class stack{ public static int[] stack=new int[10000]; public static int pointer=-1; public static void push(int n) { if(point..
문제 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 수열의 index의 원소와 1부터 시작하는 number를 비교해서 1) 수열의 원소>=number이면 stack에 number를 push하고 number를 1 증가시킨다. 2) 수열의 원소
https://www.acmicpc.net/problem/2841 2841번: 외계인의 기타 연주 문제 상근이의 상상의 친구 외계인은 손가락을 수십억개 가지고 있다. 어느 날 외계인은 기타가 치고 싶었고, 인터넷에서 간단한 멜로디를 검색했다. 이제 이 기타를 치려고 한다. 보통 기타는 1번 줄부터 6번 줄까지 총 6개의 줄이 있고, 각 줄은 P개의 프렛으로 나누어져 있다. 프렛의 번호도 1번부터 P번까지 나누어져 있다. 멜로디는 음의 연속이고, 각 음은 줄에서 해당하는 프렛을 누르고 줄을 튕기면 연주할 수 있다. 예를 들면, 4번 줄의 8번 프렛을 누 www.acmicpc.net 문제 스택으로 풀라는 힌트가 없었으면 못풀었을 것같다. 그리고 문제를 이해하는데 좀 오래 걸렸는데, 줄 번호가 높을 수록 음도..
https://www.acmicpc.net/problem/10773 10773번: 제로 문제 나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다. 재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다. 재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다. 재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자! 입력 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ www.acmicpc.net 문제분석 "0이 나오면 가장 최근에 쓸 수 있는 문제를 지운다"에서 Stack을 사용해야하는 것을 알 수 있다. 따라서 맨 첫번째 숫자만큼..
package programmers.level1; import java.util.HashMap; import java.util.Iterator; import java.util.Map; public class TestExam { public static void main(String[] args) { int[] answer= {1,3,2,4,2}; int numberOne=0; int numberTwo=0; int numberThree=0; int[] arrayThree= {3,3,1,1,2,2,4,4,5,5}; for(int i=0;i