목록구현 (104)
기록방
👉 문제링크 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 🔸 문제 분석 🔸 n x n 크기의 게임판에서 왼쪽 위 (0,0)부터 탐색하며 오른쪽 아래 (n-1, n-1)에 도착할 수 있는지 결과를 출력한다. 현재 게임판 위치의 값만큼 오른쪽 혹은 아래쪽 한 방향으로 정확히 그 값만큼 움직일 수 있다. 판을 넘어가면 안된다. 🔸 코드 🔸 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { p..
👉 문제링크 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 🔸 문제 분석 🔸 n개 국가의 올림픽 결과가 주어지면, m번째 국가가 몇 등인지 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { public stat..
👉 문제링크 9339번: 마라토너 상근이는 마라톤 학원을 운영하고 있다. 학원의 수강생은 총 K명으로, 다가오는 마라톤 대회에 참가하기 위해 연습을 하고 있다. 마라톤 대회가 끝나고, 기록이 6시간 이하인 경우는 마라톤 완주 www.acmicpc.net 🔸 문제 분석 🔸 테스트케이스 마다 마라톤 기록에서 학원 수강생이 6시간 이하 기록이 나온 수와 그 중 최고 빠른 수강생을 출력한다. 학원 수강생인지 확인하고, 6시간 이하 기록인지 확인한다. 해당하는 학생들의 수를 센다. 가장 기록이 좋은 학생을 저장한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java..
👉 문제링크 2704번: 이진법 시계 각 테스트 케이스마다, 3열 방식으로 읽은 이진법 시계의 시각과 3행 방식으로 읽은 이진법 시계의 시각을 공백으로 구분하여 출력한다. 각각 18개의 비트를 가져야 한다. www.acmicpc.net 🔸 문제 분석 🔸 시분초를 입력받아 6자리 이진수로 만들고, 3열방식과 3행방식으로 출력한다. 🔸 코드 🔸 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedR..
👉 문제링크 23253번: 자료구조는 정말 최고야 위 그림처럼 책이 쌓여 있으므로, 첫 번째 더미 - 두 번째 더미 - 첫 번째 더미 - 두 번째 더미 순으로 꺼내면 책 번호순으로 나열할 수 있다. www.acmicpc.net 🔸 문제 분석 🔸 여러개의 스택형식 책더미에서 번호 순서대로 책을 뽑을 수 있는지 판별한다. 스택과 책의 개수가 최대 20만이므로 pop을 반복해서 탐색하는건 시간초과가 난다. 각 책 무더기가 내림차순으로 정렬되어 있으면 문제 조건을 만족하므로, 정렬을 확인한다. 🔸 코드 🔸 import sys input = sys.stdin.readline n, m = map(int, input().split()) for _ in range(m): book = int(input()) books ..