일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- php 프로그래밍 입문 예제
- 페이코 친구코드
- C
- 페이코 초대코드
- Java
- 자바
- SWEA
- 자바 스프링
- php 프로그래밍 입문
- 백준
- 파이썬
- programmers
- 배열
- JAVA SPRING
- php 프로그래밍 입문 문제풀이
- Flutter
- 플러터 개발환경 설정
- php 프로그래밍 입문 솔루션
- 플러터
- 페이코 추천인코드
- php 프로그래밍
- 한정 분기
- php
- 페이코 추천인
- spring
- php 프로그래밍 입문 3판
- 스프링
- php 프로그래밍 입문 연습문제
- 최단 경로
- C언어
- Today
- Total
목록분류 전체보기 (591)
ImJay

[BOJ/Java] 2146. 다리 만들기 2146번: 다리 만들기 여러 섬으로 이루어진 나라가 있다. 이 나라의 대통령은 섬을 잇는 다리를 만들겠다는 공약으로 인기몰이를 해 당선될 수 있었다. 하지만 막상 대통령에 취임하자, 다리를 놓는다는 것이 아깝다 www.acmicpc.net 문제 해석 이 문제에서는 N x N 크기의 지도 위에 여러 섬이 표시되어 있으며, 각 섬은 1로, 바다는 0으로 표시된다. 목표는 서로 다른 두 섬을 연결하는 가장 짧은 다리를 찾는 것이다. 다리는 수평 또는 수직으로만 연결할 수 있으며, 다리의 길이는 바다를 지나는 칸의 수로 결정된다. 풀이 과정 sol 메소드는 섬의 경계를 설정하고(setBoundary), 섬들 사이의 최단 다리 거리를 찾는(findWay) 두 가지 주요..

[BOJ/Java] 4963. 섬의 개수 문제 해석 이 문제는 2차원 맵에서 연결된 땅의 덩어리(섬)의 개수를 찾는 문제이다. 맵은 0(바다)과 1(땅)로 구성되어 있으며, 8방향(수직, 수평, 대각선)으로 연결된 땅은 하나의 섬으로 간주된다. 입력의 끝은 너비와 높이가 모두 0인 경우로 주어진다. 풀이 과정 io 함수는 여러 테스트 케이스를 처리하며 각 케이스에 대한 맵 정보를 입력받고, 각 위치에서 섬의 개수를 계산한다. sol 함수는 주어진 위치에서 BFS를 사용하여 섬을 탐색하고, 방문한 위치는 visited 배열을 통해 체크한다. 연결된 모든 땅을 방문하면 섬 하나의 탐색이 완료된다. checkStatus 함수는 주어진 위치가 맵 내부에 있고, 방문하지 않은 땅인지 확인한다. 코드 package..

[BOJ/Java] 17143. 낚시왕 17143번: 낚시왕 낚시왕이 상어 낚시를 하는 곳은 크기가 R×C인 격자판으로 나타낼 수 있다. 격자판의 각 칸은 (r, c)로 나타낼 수 있다. r은 행, c는 열이고, (R, C)는 아래 그림에서 가장 오른쪽 아래에 있는 칸이다. www.acmicpc.net 문제 해석 이 문제에서는 R x C 크기의 격자에 상어가 배치되어 있으며, 낚시왕이 상어를 잡는 과정을 시뮬레이션한다. 낚시왕은 격자의 왼쪽 열부터 시작하여 매 턴마다 오른쪽으로 한 칸씩 이동한다. 각 칸에서 가장 가까운 상어를 잡은 후, 모든 상어가 자신의 규칙에 따라 이동한다. 이동 중 상어가 동일한 칸에 도착하면 크기가 가장 큰 상어만 살아남는다. 목표는 낚시왕이 잡은 상어의 크기 합을 최대로 하는 ..

[BOJ/Java] 16236. 아기 상어 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net 문제 해석 이 문제에서는 N x N 크기의 격자에 아기 상어와 여러 물고기가 존재하며, 아기 상어는 자신보다 작은 물고기만 먹을 수 있다. 아기 상어는 자신의 크기와 같은 수의 물고기를 먹을 때마다 크기가 1 증가한다. 아기 상어의 목표는 최대한 많은 물고기를 먹는 것이 아니라, 먹을 수 있는 물고기가 없어질 때까지 최단 시간 내에 물고기를 먹는 것이다. 풀이 과정 아기 상어의 이동 경로는 너비 우선 탐색(BFS)..

[SWEA/Java] 7699. 수지의 수지 맞는 여행 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 이 문제는 R x C 크기의 격자에서 알파벳을 수집하는 최적의 경로를 찾는 것이 목표이다. 각 격자 칸에는 알파벳이 적혀 있으며, 수지는 한 번 방문한 알파벳을 다시 방문할 수 없다. 풀이 과정 이 문제는 백트래킹과 비트마스킹을 활용하여 해결된다. 알파벳의 방문 여부를 비트로 표현하면서 각 위치에서 가능한 모든 방향으로의 이동을 시도하여, 방문할 수 있는 알파벳의 최대 수를 찾는다. sol 함수는 현재 위치에서 상하좌우로 이동 가능한 옵션을 탐색하고, 아직 방문하지 않은 알파벳으로 이동이 가능할 경..

[BOJ/Java] 15686. 치킨 배달 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 문제 해석 이 문제는 도시의 크기 N×N과 치킨집들 중 최대 M개를 선택하여, 도시의 치킨 거리를 최소화하는 문제이다. 여기서 치킨 거리란, 각 집에서 가장 가까운 치킨집까지의 거리의 합을 의미한다. 풀이 과정 풀이는 조합과 브루트 포스를 이용한 접근 방식을 채택하였다. 모든 치킨집의 조합을 고려하여, 각 조합마다 모든 집의 치킨 거리를 계산하고 이를 최소화한다. sol 함수는 재귀적으로 치킨집의 조..

[SWEA/Java] 1767. 프로세서 연결하기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 이 문제는 N x N 크기의 칩 위에 존재하는 여러 프로세서들을 칩의 가장자리에 연결하는 전선을 최적으로 설치하는 문제이다. 최대한 많은 프로세서를 연결하고, 그 중에서도 전선의 길이가 최소가 되도록 해야 한다. 프로세서가 가장자리에 위치할 경우 이미 연결된 것으로 간주하고 처리한다. 풀이 과정 솔루션은 깊이 우선 탐색(DFS)을 사용하여 모든 프로세서에 대해 가능한 모든 연결 방법을 탐색한다. 각 프로세서를 연결할 때, 상하좌우 방향으로 연결을 시도하고, 연결 가능한 상황에서는 전선을 설치한다. 이때,..

[SWEA/Java] 1861. 정사각형 방 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제 해석 이 문제는 N x N 크기의 방에서 시작하여, 상하좌우로 이동할 때 각 방의 번호가 1씩 증가하는 경로를 최대한 많이 찾는 문제이다. 최종 목표는 시작 방 번호가 가장 작은 경로 중, 최대 이동 횟수를 가진 경로를 찾는 것이다. 풀이 과정 풀이는 너비 우선 탐색(BFS)을 기반으로 구현되었다. 각 방에서 시작하여, 가능한 모든 방향으로 이동하면서 조건에 맞는 방으로만 이동하도록 하였다. 이 때, 이동 가능한 방의 개수와 시작 방 번호를 저장하기 위해 우선순위 큐를 사용하였다. 이 큐는 이동 횟수가 많은 것을 ..

[BOJ/Java] 2563. 색종이 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 문제 해석 이 문제에서는 100x100 크기의 흰 도화지 위에 색종이를 붙이는 작업을 수행하며, 색종이가 차지하는 총 면적을 계산해야 한다. 각 색종이의 크기는 10x10이며, 색종이를 붙일 시작 위치가 주어진다. 풀이 과정 입력 처리: Java의 BufferedReader를 사용하여 색종이의 개수와 각 색종이의 위치를 입력 받는다. 도화지 초기화: boolean 2차원 배열 graph를 사용하여 100x100 도화지를 표현하며, 색종..

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