분류 전체보기 50

[백준] 1406번: 에디터/ Java 11

문제 시간 초과로, 정답보고 이해하고 해결https://www.acmicpc.net/problem/1406 에디터한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율0.3 초 (하단 참고)512 MB144957416122795427.290%문제한 줄로 된 간단한 에디터를 구현하려고 한다. 이 편집기는 영어 소문자만을 기록할 수 있는 편집기로, 최대 600,000글자까지 입력할 수 있다.이 편집기에는 '커서'라는 것이 있는데, 커서는 문장의 맨 앞(첫 번째 문자의 왼쪽), 문장의 맨 뒤(마지막 문자의 오른쪽), 또는 문장 중간 임의의 곳(모든 연속된 두 문자 사이)에 위치할 수 있다. 즉 길이가 L인 문자열이 현재 편집기에 입력되어 있으면, 커서가 위치할 수 있는 곳은 L+1가지 경우가 있다.이 편집기..

[백준] 10799번: 쇠막대기/ Java 11

실패, 정답보고 이해한 뒤 풀이https://www.acmicpc.net/problem/10799 쇠막대기 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초256 MB61842404092996265.441%문제여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다.쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히 포함되도록 놓되, 끝점은 겹치지 않도록 놓는다.각 쇠막대기를 자르는 레이저는 적어도 하나 존재한다.레이저는 어떤 쇠막대기의 양 끝점과도 겹치지 않는다.아래 그림은 위 조건을 만족하는..

[백준] 1874번: 스택 수열/ Java 11

실패/ 정답보고 이해한 뒤, 풀이했다.https://www.acmicpc.net/problem/1874스택 수열 시간 제한메모리 제한제출정답맞힌 사람정답 비율2 초128 MB189151767075298239.116%문제스택 (stack)은 기본적인 자료구조 중 하나로, 컴퓨터 프로그램을 작성할 때 자주 이용되는 개념이다. 스택은 자료를 넣는 (push) 입구와 자료를 뽑는 (pop) 입구가 같아 제일 나중에 들어간 자료가 제일 먼저 나오는 (LIFO, Last in First out) 특성을 가지고 있다.1부터 n까지의 수를 스택에 넣었다가 뽑아 늘어놓음으로써, 하나의 수열을 만들 수 있다. 이때, 스택에 push하는 순서는 반드시 오름차순을 지키도록 한다고 하자. 임의의 수열이 주어졌을 때 스택을 이용..

[백준] 4949번: 균형잡힌 세상/ Java 11

https://www.acmicpc.net/problem/4949균형잡힌 세상한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초128 MB171435590664545533.126%문제세계는 균형이 잘 잡혀있어야 한다. 양과 음, 빛과 어둠 그리고 왼쪽 괄호와 오른쪽 괄호처럼 말이다.정민이의 임무는 어떤 문자열이 주어졌을 때, 괄호들의 균형이 잘 맞춰져 있는지 판단하는 프로그램을 짜는 것이다.문자열에 포함되는 괄호는 소괄호("()") 와 대괄호("[]")로 2종류이고, 문자열이 균형을 이루는 조건은 아래와 같다.모든 왼쪽 소괄호("(")는 오른쪽 소괄호(")")와만 짝을 이뤄야 한다.모든 왼쪽 대괄호("[")는 오른쪽 대괄호("]")와만 짝을 이뤄야 한다.모든 오른쪽 괄호들은 자신과 짝을 이룰 ..

[백준] 10773번: 제로/ Java 11

제로 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초256 MB118526811066535868.426%문제나코더 기장 재민이는 동아리 회식을 준비하기 위해서 장부를 관리하는 중이다.재현이는 재민이를 도와서 돈을 관리하는 중인데, 애석하게도 항상 정신없는 재현이는 돈을 실수로 잘못 부르는 사고를 치기 일쑤였다.재현이는 잘못된 수를 부를 때마다 0을 외쳐서, 가장 최근에 재민이가 쓴 수를 지우게 시킨다.재민이는 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다. 재민이를 도와주자!입력 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 ..

[백준] 10828번: 스택/ Java 11

스택시간 제한메모리 제한제출정답맞힌 사람정답 비율 0.5 초 (추가 시간 없음)256 MB2976341124948142438.487%문제정수를 저장하는 스택을 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오.명령은 총 다섯 가지이다.push X: 정수 X를 스택에 넣는 연산이다.pop: 스택에서 가장 위에 있는 정수를 빼고, 그 수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 스택에 들어있는 정수의 개수를 출력한다.empty: 스택이 비어있으면 1, 아니면 0을 출력한다.top: 스택의 가장 위에 있는 정수를 출력한다. 만약 스택에 들어있는 정수가 없는 경우에는 -1을 출력한다.입력첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이..

[백준] 9012번: 괄호/ Java 11

시간 제한메모리 제한제출정답맞힌 사람정답 비율1 초128 MB2476031190978517446.751%문제괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()..

BuilderedReader로 입력값 받을 때 의문점 (feat.GPT)

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));br에는 어떤 데이터가 들어가있어? br은 우리가 BufferedReader로 만든 입력 객체야. 즉, br 자체는 **표준 입력(키보드 입력 또는 백준에서는 테스트 데이터)**을 한 줄씩 읽어오는 입력 도구라고 생각하면 돼.🔍 예를 들어서 보면:BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); 이 줄은 이렇게 해석돼:System.in → 표준 입력 (기본적으로 키보드 입력 또는 백준 입력) InputStreamReader → 바이트를 문자로 바꿔줌 BufferedReader → 한 줄 전체를..

코딩테스트/etc 2025.05.16

백준 Beakjoon 사용법

프로그래머스를 사용하다가 백준으로 넘어와봤는데, 여간 불편한 점이 한 두개가 아니다.테스트 케이스를 위해 IDE를 따로 써야 한다는 점.. public static void main부터 전부 작성해야한다는 점.. 클래스 이름이 Main이어야 한다는 점 등... 까다롭더라. 구글링하면서 백준을 처음 사용하기 전에 읽어보면 좋은 참고 블로그들을 찾아보았다.https://cloverlaun.tistory.com/95 [Java] 백준 문제풀이 프로젝트 템플릿개요요즘에는 알고리즘 문제풀이 연습에 시간을 많이 할애하고 있습니다. 한동안 연습을 등한시했더니, 완전 기초적인 지식도 헷갈려서 골치 아프네요. 특히나 언어를 Java로 바꾸면서 언어적cloverlaun.tistory.com https://mindorizi..

큐(Queue)

큐의 개념 큐는 '줄을 서다'라는 뜻을 가지고 있다.큐는 먼저 들어간 데이터가 먼저 나오는 자료 구조이다. = 선입선출 = FIFO큐 삽입 연산: Enqueue(Add), 꺼내는 연산을 Dequeue(Poll)이라고 한다.2, 5를 스택에 넣었을 경우엔 5가 먼저 나올 것이고2, 5를 큐에 넣었을 경우엔 2가 먼저 나올 것이다. 헷갈리지 말기! 큐의 특성을 활용하는 분야먼저 들어온 것을 먼저 처리하는 큐의 동작 방식은 프로그래밍 언어에서 많이 활용 중대표적으로 여러 이벤트가 발생했을 때 발생한 순서대로 처리할 때 큐가 활용 됨 (식당에서 먼저 줄 선 사람이 먼저 들어가는 것과 같은 경우)ex) 작업 대기열: 네트워크 통신 시, 다수의 클라이언트에서 서버에 작업을 요청하면 서버는 요청이 들어온 순서대로 작..

코딩테스트/etc 2025.05.16