Java

    [백준] 1113번 : 수영장 만들기 Gold1(골드1) - JAVA[자바]

    [Gold I] 수영장 만들기 - 1113문제 링크성능 요약메모리: 12768 KB, 시간: 88 ms분류너비 우선 탐색, 그래프 이론, 그래프 탐색, 구현, 시뮬레이션제출 일자2024년 6월 10일 23:52:11문제 설명지민이는 수영장을 만들려고 한다. 수영장을 만들 곳의 크기는 N*M이고, 각 칸은 직육면체이다. 따라서, 각 칸의 직육면체의 높이가 쓰여 있는 다음과 같은 땅을 생각할 수 있다.166616111616661이 수영장은 15만큼의 물이 들어있는 수영장을 만들 수 있다. 가운데 3개의 칸에 5만큼 물을 채우면 되기 때문이다.자 이제 가운데 물을 더 추가했다고 생각하면, 벽(높이가 6인 직육면체)을 넘어서 밖으로 나갈 것이다. 물은 항상 높이가 더 낮은 곳으로만 흐르고, 직육면체 위의 표면에..

    [백준] 1987번 : 알파벳 Gold4(골드4) - JAVA[자바]

    [Gold IV] 알파벳 - 1987 문제 링크 성능 요약 메모리: 296464 KB, 시간: 1988 ms 분류 백트래킹, 깊이 우선 탐색, 그래프 이론, 그래프 탐색 제출 일자 2024년 1월 14일 01:08:01 문제 설명 세로 R칸, 가로 C칸으로 된 표 모양의 보드가 있다. 보드의 각 칸에는 대문자 알파벳이 하나씩 적혀 있고, 좌측 상단 칸 (1행 1열) 에는 말이 놓여 있다. 말은 상하좌우로 인접한 네 칸 중의 한 칸으로 이동할 수 있는데, 새로 이동한 칸에 적혀 있는 알파벳은 지금까지 지나온 모든 칸에 적혀 있는 알파벳과는 달라야 한다. 즉, 같은 알파벳이 적힌 칸을 두 번 지날 수 없다. 좌측 상단에서 시작해서, 말이 최대한 몇 칸을 지날 수 있는지를 구하는 프로그램을 작성하시오. 말이 ..

    [백준] 14500번 : 테트로미노 Gold4(골드4) - JAVA[자바]

    [Gold IV] 테트로미노 - 14500 문제 링크 성능 요약 메모리: 31664 KB, 시간: 508 ms 분류 브루트포스 알고리즘, 구현 제출 일자 2024년 1월 12일 15:02:43 문제 설명 폴리오미노란 크기가 1×1인 정사각형을 여러 개 이어서 붙인 도형이며, 다음과 같은 조건을 만족해야 한다. 정사각형은 서로 겹치면 안 된다. 도형은 모두 연결되어 있어야 한다. 정사각형의 변끼리 연결되어 있어야 한다. 즉, 꼭짓점과 꼭짓점만 맞닿아 있으면 안 된다. 정사각형 4개를 이어 붙인 폴리오미노는 테트로미노라고 하며, 다음과 같은 5가지가 있다. 아름이는 크기가 N×M인 종이 위에 테트로미노 하나를 놓으려고 한다. 종이는 1×1 크기의 칸으로 나누어져 있으며, 각각의 칸에는 정수가 하나 쓰여 있다..

    [백준] 1753번 : 최단경로 Gold4(골드4) - JAVA[자바]

    [Gold IV] 최단경로 - 1753 문제 링크 성능 요약 메모리: 121704 KB, 시간: 1288 ms 분류 데이크스트라, 그래프 이론, 최단 경로 제출 일자 2024년 1월 11일 22:06:30 문제 설명 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대..

    [백준] 5639번 : 이진 검색 트리 Gold5(골드5) - JAVA[자바]

    [Gold V] 이진 검색 트리 - 5639 문제 링크 성능 요약 메모리: 16088 KB, 시간: 376 ms 분류 그래프 이론, 그래프 탐색, 재귀, 트리 제출 일자 2024년 1월 10일 21:12:46 문제 설명 이진 검색 트리는 다음과 같은 세 가지 조건을 만족하는 이진 트리이다. 노드의 왼쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 작다. 노드의 오른쪽 서브트리에 있는 모든 노드의 키는 노드의 키보다 크다. 왼쪽, 오른쪽 서브트리도 이진 검색 트리이다. 전위 순회 (루트-왼쪽-오른쪽)은 루트를 방문하고, 왼쪽 서브트리, 오른쪽 서브 트리를 순서대로 방문하면서 노드의 키를 출력한다. 후위 순회 (왼쪽-오른쪽-루트)는 왼쪽 서브트리, 오른쪽 서브트리, 루트 노드 순서대로 키를 출력한다. 예..

    [SW expert Academy] SWEA 1861번 정사각형 방 자바(Java)

    [D4] 정사각형 방 - 1861 문제 링크 성능 요약 메모리: 90,440 KB, 시간: 536 ms, 코드길이: 2,631 Bytes 제출 일자 2024-01-09 23:23 접근 방식 1. 입력 받은 배열을 for문을 통해 전부 확인한다. 2. bfs()를 통해서 상,하,좌,우로 갈 수 있는 경우의 수를 모두 확인해준다. 3. 만약 더 이상 갈 곳이 없다면 result에 갱신한다. -> 이 과정에서 같다면 방의 번호가 더 작은 방으로 해야함 1. for문을 통해 전부 확인 // for문을 통해서 전부 bfs를 통해 각 값 확인 for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ bfs(new Point(i,j,1)); } } 2. bfs()를 통해서 ..

    [백준] 3190번 : 뱀 Gold4(골드4) - JAVA[자바]

    [Gold IV] 뱀 - 3190 문제 링크 성능 요약 메모리: 12704 KB, 시간: 104 ms 분류 자료 구조, 덱, 구현, 큐, 시뮬레이션 제출 일자 2024년 1월 8일 22:46:00 문제 설명 'Dummy' 라는 도스게임이 있다. 이 게임에는 뱀이 나와서 기어다니는데, 사과를 먹으면 뱀 길이가 늘어난다. 뱀이 이리저리 기어다니다가 벽 또는 자기자신의 몸과 부딪히면 게임이 끝난다. 게임은 NxN 정사각 보드위에서 진행되고, 몇몇 칸에는 사과가 놓여져 있다. 보드의 상하좌우 끝에 벽이 있다. 게임이 시작할때 뱀은 맨위 맨좌측에 위치하고 뱀의 길이는 1 이다. 뱀은 처음에 오른쪽을 향한다. 뱀은 매 초마다 이동을 하는데 다음과 같은 규칙을 따른다. 먼저 뱀은 몸길이를 늘려 머리를 다음칸에 위치시..

    [SW expert Academy] SWEA 7829번 보물왕 태혁 자바(Java)

    [D4] 보물왕 태혁 - 7829 문제 링크 성능 요약 메모리: 17,688 KB, 시간: 103 ms, 코드길이: 1,017 Bytes 제출 일자 2024-01-05 23:50 접근 방식 1. 한 자연수의 모든 약수를 주어지고 자연수를 찾는 것이다. 2. P의 최소값 x 최대값을 구한다면 자연수를 구할 수 있다. 3. (혹은 값이 한개 있다면 제곱수) 풀이 코드 import java.util.StringTokenizer; import java.util.Arrays; import java.io.BufferedReader; import java.io.InputStreamReader; class Solution { public static void main(String args[]) throws Except..