본문 바로가기

전체 글158

[백준] 9012번: 괄호 💡문제 분석 요약입력으로 주어진 괄호 문자열이 VPS(올바른 괄호 문자열)인지 아닌지를 판별하는 문제이다.시간제한: 1초메모리 제한: 128MB 💡알고리즘 설계입력받은 괄호 문자열에서 문자 하나씩 검사한다.‘(’ 이면 스택에 push‘)’ 이면스택이 비어있을 경우 ‘)’를 push하고 반복문 중단.스택이 비어있지 않을 경우 pop.스택이 비어있으면 “YES”, 비어있지 않으면 “NO”를 결과에 추가한다. 💡코드import java.io.*;import java.util.Stack;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedRe.. 2024. 7. 11.
[프로그래머스] 다리를 지나는 트럭 💡문제 분석 요약트럭들이 다리를 순서대로 건너는 상황이다. 다리에는 동시에 최대 bridge_length 대의 트럭이 올라갈 수 있고, 다리가 견딜 수 있는 최대 무게는 weight 이다. 모든 트럭이 다리를 건너는데 걸리는 최소 시간을 구하는 문제이다. 💡알고리즘 설계하나의 큐를 사용한다.pass_q: 다리 위에 있는 트럭들의 무게 저장시간(answer)를 1초씩 증가시키며, 매초마다 작업을 수행한다.다리를 완전히 건넌 트럭 처리pass_q의 크기가 bridge_length 이상이면, 가장 앞의 트럭을 제거하고 총 무게에서 뺀다.트럭이 다리에 올라올 수 있는지 확인대기 중인 트럭이 있고, (현재 다리 위 무게 + 대기 중인 첫 번째 트럭의 무게)가 weight 이하일 경우새 트럭을 pass_q에 추.. 2024. 7. 11.
[백준] 1158번: 요세푸스 문제 https://www.acmicpc.net/problem/10828 💡문제 분석 요약원을 이루며 앉아있는 N명의 사람 중 K번째 사람을 제거하는 과정을 N번 반복하여 제거되는 순서를 출력하는 문제이다.시간 제한: 2초메모리 제한: 256MB💡알고리즘 설계큐를 이용.1~N까지의 숫자를 큐에 offerK-1번째 까지 맨 앞 값을 poll 한 다음, 맨 뒤에 offerK번째 값을 poll 하여 결과 문자열에 추가2,3번을 N번 반복💡코드import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.util.LinkedList;import java.util.Queue;public clas.. 2024. 7. 10.
[백준] 10828번: 스택 https://www.acmicpc.net/problem/10828 💡문제 분석 요약스택을 구현하여 “연산 숫자”로 이루어진 명령에 따라 스택을 조작하는 문제이다.💡알고리즘 설계Scanner 클래스를 이용하여 N(명령의 수)과 명령을 입력받았다.Stack 클래스를 이용하여 주어지는 명령에 해당하는 메서드를 이용했다.push x: push 메서드 이용하여 값 출력popisEmpty 메서드를 이용해 스택이 비어있는지 확인pop 메서드 이용하여 값 출력size: size 메서드 이용하여 값 출력empty: isEmpty 메서드를 이용해 스택이 비어있는지 확인topisEmpty 메서드를 이용해 스택이 비어있는지 확인peek 메서드 이용하여 값 출력💡코드import java.util.Scanner;impor.. 2024. 7. 10.
[Day2] 정리 정돈을 좋아하는 k씨 💡문제시간 제한: 1초정리 정돈을 좋아하는 k씨의 본명은 아무도 모릅니다. 사람들은 k씨의 특이한 행동 2가지 때문에 그를 '정리 정돈을 좋아하는 k씨'라고 부릅니다. 그 두 가지 행동은 그가 숫자를 정리하는 일을 하면 아무 규칙없이 나열되어 있는 숫자중 범위를 정한 후 무조건 오름차순으로 정리한다는 것, 그리고 오름차순으로 정리된 숫자 중 k번째 숫자를 선택한다는 것입니다예를 들어 a={1,7,6,8,1,6,4,5}라는 수열이 있습니다. 정리정돈을 좋아하는 k씨는 범위를 2에서 5로 정하고, k를 2라고 정했습니다.그러면 ka={7,6,8,1}이 되고, 이것을 오름차순으로 정리를 하면 ka={1,6,7,8}이 됩니다. 그리고 k씨는 2번째인 6을 선택합니다.배열 a가 주어지고, k씨가 일을 한 횟수가.. 2024. 7. 10.
[Day1] 목표량 💡문제시간 제한: 1초엘리스 토끼는 목표량을 정해 수학 문제를 열심히 풉니다. 목표량은 정수입니다.내일 풀 수학 문제의 개수는 오늘 푼 문제 개수의 수와 숫자의 구성이 같으면서, 오늘 푼 문제 개수의 수보다 큰 수 중 가장 작은 수입니다.예를 들어, 오늘 67문제를 풀었으면 다음 날 76문제를 풉니다.오늘 푼 문제의 개수를 줬을 때 다음날 풀 문제의 개수를 출력하는 프로그램을 작성하세요. 지시사항입력첫 번째 줄에 오늘 푼 문제의 개수인 자연수 N을 입력합니다.1≤N≤999999정답이 반드시 있는 경우만 입력값으로 주어집니다.출력다음날 풀 문제의 개수를 출력합니다. 입력 예시364출력 예시436 💡알고리즘 설계다음 순열(next permutation) 알고리즘을 사용입력받은 문자를 배열로 변환오른쪽에서.. 2024. 7. 10.
반응형