백준

    [백준] 26009번 : 험난한 등굣길 Gold2(G2) - JAVA[자바]

    [Gold II] 험난한 등굣길 - 26009문제 링크성능 요약메모리: 300912 KB, 시간: 772 ms분류너비 우선 탐색, 그래프 이론, 그래프 탐색제출 일자2024년 6월 2일 12:26:37문제 설명통학러 재헌이는 1교시 수업을 듣기 위해 아침 일찍 학교에 가려고 한다. 재헌이가 사는 지역은 크기가 N×M 인 격자로 나타낼 수 있는데, i행 j열에 해당하는 칸을 (i,j)로 나타낼 때 재헌이는 현재 (1,1)에, 학교는 (N,M)에 위치해 있다. 재헌이는 상하좌우로 한 칸씩 이동할 수 있고 지역 바깥으로 나갈 수는 없다.등굣길은 순탄치만은 않은데, 이 지역에는 K개의 정체 구역이 있다. i번째 정체 구역은 세 정수 Ri,Ci,Di로 표현되며, 이는 (Ri,Ci)로부터 거리가 D이하인 칸들에는 ..

    [백준] 161198번 : 달빛 여우 Gold1(골드1) - JAVA[자바]

    [Gold I] 달빛 여우 - 16118문제 링크성능 요약메모리: 64780 KB, 시간: 816 ms분류데이크스트라, 그래프 이론, 최단 경로제출 일자2024년 6월 1일 16:30:08문제 설명관악산 기슭에는 보름달을 기다리는 달빛 여우가 한 마리 살고 있다. 달빛 여우가 보름달의 달빛을 받으면 아름다운 구미호로 변신할 수 있다. 하지만 보름달을 기다리는 건 달빛 여우뿐만이 아니다. 달빛을 받아서 멋진 늑대인간이 되고 싶어 하는 달빛 늑대도 한 마리 살고 있다.관악산에는 1번부터 N번까지의 번호가 붙은 N개의 나무 그루터기가 있고, 그루터기들 사이에는 M개의 오솔길이 나 있다. 오솔길은 어떤 방향으로든 지나갈 수 있으며, 어떤 두 그루터기 사이에 두 개 이상의 오솔길이 나 있는 경우는 없다. 달빛 여..

    [백준] 15683번 : 감시 Gold4(골드4) - JAVA[자바]

    [Gold IV] 감시 - 15683 문제 링크 성능 요약 메모리: 67488 KB, 시간: 216 ms 분류 백트래킹, 브루트포스 알고리즘, 구현, 시뮬레이션 제출 일자 2024년 2월 12일 15:28:05 문제 설명 스타트링크의 사무실은 1×1크기의 정사각형으로 나누어져 있는 N×M 크기의 직사각형으로 나타낼 수 있다. 사무실에는 총 K개의 CCTV가 설치되어져 있는데, CCTV는 5가지 종류가 있다. 각 CCTV가 감시할 수 있는 방법은 다음과 같다. 1번 2번 3번 4번 5번 1번 CCTV는 한 쪽 방향만 감시할 수 있다. 2번과 3번은 두 방향을 감시할 수 있는데, 2번은 감시하는 방향이 서로 반대방향이어야 하고, 3번은 직각 방향이어야 한다. 4번은 세 방향, 5번은 네 방향을 감시할 수 있..

    [백준] 16234번 : 인구 이동 Gold4(골드4) - JAVA[자바]

    [Gold IV] 인구 이동 - 16234 문제 링크 성능 요약 메모리: 42372 KB, 시간: 280 ms 분류 너비 우선 탐색, 그래프 이론, 그래프 탐색, 구현, 시뮬레이션 제출 일자 2024년 2월 11일 22:27:11 문제 설명 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모든 나라는 1×1 크기이기 때문에, 모든 국경선은 정사각형 형태이다. 오늘부터 인구 이동이 시작되는 날이다. 인구 이동은 하루 동안 다음과 같이 진행되고, 더 이상 아래 방법에 의해 인구 이동이 없을 때까지 지속된다. 국경선을 공유하는 두 나라의 인구 차이가 L명 이..

    [백준] 17281번 : ⚾︎ Gold4(골드4) - JAVA[자바]

    [Gold IV] ⚾ - 17281 문제 링크 성능 요약 메모리: 12564 KB, 시간: 408 ms 분류 브루트포스 알고리즘, 구현 제출 일자 2024년 2월 11일 15:40:49 문제 설명 ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝 동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을 쳤는데 3아웃이 발생하지 않은 상태면 이닝은 끝나지 않고, 1번 타자가 다시 타석에 선다. 타순은 이닝이 변경되어도 순서를 유지해야 한다. ..

    [백준] 16236번 : 아기 상어 Gold3(골드3) - JAVA[자바]

    [Gold III] 아기 상어 - 16236 문제 링크 성능 요약 메모리: 20224 KB, 시간: 152 ms 분류 너비 우선 탐색, 그래프 이론, 그래프 탐색, 구현, 시뮬레이션 제출 일자 2024년 2월 9일 23:17:29 문제 설명 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크기보다 작은 ..

    [백준] 1967번 : 트리의 지름 Gold4(골드4) - JAVA[자바]

    [Gold IV] 트리의 지름 - 1967 문제 링크 성능 요약 메모리: 19972 KB, 시간: 188 ms 분류 깊이 우선 탐색, 그래프 이론, 그래프 탐색, 트리 제출 일자 2024년 2월 9일 14:40:48 문제 설명 트리(tree)는 사이클이 없는 무방향 그래프이다. 트리에서는 어떤 두 노드를 선택해도 둘 사이에 경로가 항상 하나만 존재하게 된다. 트리에서 어떤 두 노드를 선택해서 양쪽으로 쫙 당길 때, 가장 길게 늘어나는 경우가 있을 것이다. 이럴 때 트리의 모든 노드들은 이 두 노드를 지름의 끝 점으로 하는 원 안에 들어가게 된다. 이런 두 노드 사이의 경로의 길이를 트리의 지름이라고 한다. 정확히 정의하자면 트리에 존재하는 모든 경로들 중에서 가장 긴 것의 길이를 말한다. 입력으로 루트가..

    [백준] 16637번 : 괄호 추가하기 Gold3(골드3) - JAVA[자바]

    [Gold III] 괄호 추가하기 - 16637 문제 링크 성능 요약 메모리: 11780 KB, 시간: 80 ms 분류 브루트포스 알고리즘, 구현 제출 일자 2024년 2월 5일 20:26:53 문제 설명 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다. 예를 들어, 3+8×7-9×2의 결과는 136이다. 수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 단, 괄호 안에는 연산자가 하나만 들어 있어야 한다. 예를 들어, 3+8×7-9×2에 괄호를 3+(8×7)-(9×2)와 같이 추가했으면, 식의 결과는 41이 된다..