일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 백준
- 최단 경로
- 자바
- 배열
- 플러터
- 페이코 추천인코드
- 스프링
- 파이썬
- php 프로그래밍 입문 예제
- C언어
- php 프로그래밍 입문 문제풀이
- spring
- 플러터 개발환경 설정
- 자바 스프링
- php 프로그래밍 입문 3판
- 페이코 친구코드
- 페이코 초대코드
- php 프로그래밍 입문
- C
- php 프로그래밍
- php 프로그래밍 입문 솔루션
- 한정 분기
- php 프로그래밍 입문 연습문제
- php
- JAVA SPRING
- Java
- SWEA
- programmers
- Flutter
- 페이코 추천인
- Today
- Total
목록알고리즘/BOJ - Java (123)
ImJay

[BOJ/Java] 11286. 절댓값 힙 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제 해석 이 문제는 절댓값 힙을 구현하는 문제다. 절댓값 힙은 절댓값이 가장 작은 값을 우선으로, 절댓값이 같을 경우 실제 값이 작은 순으로 데이터를 정렬하여 제공하는 자료 구조다. 사용자는 숫자를 하나씩 입력하며, 0을 입력할 경우 절댓값 힙에서 최소 값을 출력하고 제거하도록 요청한다. 풀이 과정 입력 처리: Java의 BufferedReader를 사용하여 입력을 받고, 입력된 숫자의 개수를 저장한다. 절댓값 힙 구현: PriorityQueue를 ..

[BOJ/Java] 16935. 배열 돌리기 3 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → www.acmicpc.net 문제 해석 이 문제는 2차원 배열에 대해 여러 가지 연산을 수행하고 최종 결과를 출력하는 문제다. 주어진 연산은 총 6가지이며, 배열의 상하 반전, 좌우 반전, 오른쪽 90도 회전, 왼쪽 90도 회전, 그리고 블록을 이동시키는 특수한 연산 두 가지를 포함한다. 각 연산을 정확히 수행한 후 결과를 출력해야 한다. 풀이 과정 입력 받기: Jav..

[BOJ/Java] 2178. 미로 탐색 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 문제 해석 이 문제는 주어진 n x m 크기의 미로에서 (1, 1) 위치에서 출발하여 (n, m) 위치까지 이동하는 최소 칸 수를 구하는 문제이다. 각 칸은 이동할 수 있는 칸(1)과 이동할 수 없는 칸(0)으로 구성되어 있다. 이동은 상하좌우 네 방향으로만 가능하다. 풀이 과정 이 문제는 BFS(너비 우선 탐색)를 사용하여 해결할 수 있다. BFS는 시작 노드에서 가까운 노드를 우선적으로 탐색하면서 목표 노드까지의 최단 경로를 찾는 알고리즘이다. 각 ..

[BOJ/Java] 2252. 줄 세우기 2252번: 줄 세우기 첫째 줄에 N(1 ≤ N ≤ 32,000), M(1 ≤ M ≤ 100,000)이 주어진다. M은 키를 비교한 회수이다. 다음 M개의 줄에는 키를 비교한 두 학생의 번호 A, B가 주어진다. 이는 학생 A가 학생 B의 앞에 서야 한다는 의 www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { int n, m; public static void main(String[] args) throws IOException { new Main().io(); } private void io() throws IOException { // 입력을 받기 위한 BufferedRea..

[BOJ/Java] 1194. 달이 차오른다, 가자. 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, www.acmicpc.net 풀이 import java.io.*; import java.util.*; public class Main { char[][] graph; // 미로의 정보를 담는 2차원 배열 int n, m; // 미로의 세로, 가로 크기 int[][] direction = { { 0, 1 }, { 0, -1 }, { 1, 0 }, { -1, 0 } }; // 상하좌우 이동을 위한 방향 배열 p..

[BOJ/Java] 16987. 계란으로 계란치기 16987번: 계란으로 계란치기 원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱 www.acmicpc.net 풀이 package edu.ssafy.im.BOJ.Gold.G5.No16987; import java.io.*; import java.util.StringTokenizer; public class Main { int n, ans; // 계란의 수와 최대 깰 수 있는 계란의 개수를 저장할 변수 int[] durability, weight; // 각 계란의 내구도와 무게를 저장할 배열 boolean[] ..

[BOJ/Java] 2164. 카드 2 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 풀이 package edu.ssafy.im.BOJ.Silver.S4.No2164; import java.io.*; import java.util.ArrayDeque; import java.util.Queue; public class Main { int n; // 카드의 개수를 저장할 변수 public static void main(String[] args) throws IOException { new Main().io();..

[BOJ/Java] 6987. 월드컵 6987번: 월드컵 월드컵 조별 최종 예선에서는 6개국으로 구성된 각 조별로 동일한 조에 소속된 국가들과 한 번씩, 각 국가별로 총 5번의 경기를 치른다. 조별리그가 끝난 후, 기자가 보내온 각 나라의 승, 무승부 www.acmicpc.net 풀이 package edu.ssafy.im.BOJ.Gold.G4.No6987; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Main { int arr[][], match[][]; i..

[BOJ/Java] 2493. 탑 2493번: 탑 첫째 줄에 탑의 수를 나타내는 정수 N이 주어진다. N은 1 이상 500,000 이하이다. 둘째 줄에는 N개의 탑들의 높이가 직선상에 놓인 순서대로 하나의 빈칸을 사이에 두고 주어진다. 탑들의 높이는 1 www.acmicpc.net 풀이 package edu.ssafy.im.BOJ.Gold.G5.No2493; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Stack; import java.util.StringTokenizer; public class Main { public static void main(S..

[BOJ/Java] 16943. 숫자 재배치 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0 www.acmicpc.net 풀이 package edu.ssafy.im.BOJ.S1.No16943; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int selected[]; // 순열을 만들기 위한 배열 static boo..