본문 바로가기

baekjoon54

[백준] 1018번 체스판 다시 칠하기 JAVA (자바) 풀이 문제 1018 M x N 크기 보드 (검정색 & 흰색) 보드를 잘라서 8 x 8 크기의 체스판으로 만들기 체스판 규칙 : 검적생 흰색 번갈아서 칠할 것 잘라낸 보드 판을 체스판 규칙에 맞게 다시 칠해야 하는 최소 횟수를 구하시오 [입력] : 첫째 줄에 N과 M ( 8보다 크거나 같고 50보다 작거나 같은 자연수) : 둘째 줄부터 N개의 줄 보드 각 행의 색이 주어진다 ( B = 검은색, W = 흰색 ) [출력] : 다시 칠해야 하는정사각형 개수 [참고] 1. 맨 처음 시작 판을 기준으로 번갈아 색을 칠할 것! 첫 시작판을 한가지 색으로 고정하자! 흰색판일 경우로만 진행하는 것 흑과 백 경우의 수가 2개 이므로 boolean을 사용! (0과 1로 사용해도 괜찮다) 반대색은 무조건 64 - (count) 위.. 2024. 4. 11.
[백준] 15661번 링크와 스타트 JAVA (자바) 풀이 문제 15661 (비트마스킹) : 축구는 평일 오후에 하고 의무 참석도 아니다. : 축구를 하기 위해 모인 사람은 총 N명, 이제 스타트 팀과 링크 팀으로 사람들을 나눈다. (한 명 이상) : 번호를 1부터 N까지로 배정했고 능력치 Sij는 i번 사람과 j번 사람이 같은 팀에 속했을 때, 팀에 더해지는 능력치이다. 팀의 능력치는 팀에 속한 모든 쌍의 능력치 Sij의 합이다. (예시) N=4이고, S가 아래와 같은 경우를 살펴보자. 예를 들어, 1, 2번이 스타트 팀, 3, 4번이 링크 팀에 속한 경우에 두 팀의 능력치는 아래와 같다. 스타트 팀: S12 + S21 = 1 + 4 = 5 링크 팀: S34 + S43 = 2 + 5 = 7 1, 3번이 스타트 팀, 2, 4번이 링크 팀에 속하면, 두 팀의 능력.. 2024. 2. 26.
[백준] 2343번 기타 레슨 JAVA (자바) 풀이 문제 2531번 (이분탐색) : 블루레이에는 총 N개의 강의가 들어가는데, : 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다 즉, i번 강의와 j번 강의를 같은 블루레이에 녹화하려면 i와 j 사이의 모든 강의도 같은 블루레이에 녹화해야 한다. : M개의 블루레이에 모든 기타 강의 동영상을 녹화하기로 했다 (강의의 길이가 분 단위) 이때, 블루레이의 크기(녹화 가능한 길이)를 최소로 하려고 한다. ( 단, M개의 블루레이는 모두 같은 크기 ) [입력] : 첫째 줄에 강의의 수 N (1 ≤ N ≤ 100,000)과 블루레이 수 M (1 ≤ M ≤ N) : 다음 줄에는 강토의 기타 강의의 길이가 강의 순서대로 분 단위 (각 강의의 길이는 10,000분을 넘지 않는다) [출력] : 가능한 블루레이 크기중.. 2024. 2. 26.
[백준] 20310번 타노스 JAVA (자바) 풀이 문제 20310 0과 1로 이루어진 문자열 S S가 포함하는 0의 개수와 1의 개수는 모두 짝수 갑자기 타노스는 구성하는 문자 중 절반의 0과 절반의 1을 제거하여 새로운 문자열 S'를 만들고자 한다 S'로 가능한 문자열 중 사전순으로 가장 빠른 것을 구해라 [입력] : 문자열 S [출력] : 문자열 중 사전순으로 가장 빠른 것을 출력 [코드] import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(.. 2024. 1. 30.
[백준] 17484번 진우의 달 여행 JAVA (자바) 풀이 문제 17484 지구와 우주사이는 N X M 행렬 각 원소의 값 = 지날 때 소모되는 연료 양 연지구의 어느위치에서든 출발하여 달의 어느위치든 착륙하는 연료의 최소값을 구해라 지구 → 달 경우 우주선 이동 가능 방향 우주선 이전에 움직인 방향으로 움직일 수 없다 (같은 방향으로 두번 연속 이동 불가) [입력] : 첫 번째 줄 지구와 달 사이 공간을 나타내는 행렬 크기 N, M ( 2≤ N, M ≤ 6 ) : N줄 동안 각 행렬의 원소 값 ( 행렬의 원소값은 100 이하의 자연수 ) 6 4 5 8 5 1 3 5 8 4 9 77 65 5 2 1 5 2 5 98 1 5 4 95 67 58 [출력] : 최소 연료의 값 29 [코드] import java.io.*; import java.util.*; class .. 2024. 1. 30.
[백준] 9017번 크로스 컨트리 JAVA (자바) 풀이 문제 9017 (구현) 팀 = 6명이어야 점수 계산 가능 (6명 아래는 점수 없음) 결승점을 통과한 순서대로 점수 부여 (점수는 등수와 같다) 선수들의 소속 팀 번호 부여 팀 점수 = 상위 4명의 주자의 점수를 합하여 계산 (결승점을 통과한 순서대로 점수를 받기) 가장 낮은 점수를 얻는 팀이 우승 (동점의 경우, 다섯 번째 주자가 가장 빨리 들어온 팀이 우승) (예시) → 팀 B, D = 선수미달 = 점수 없음 → 팀 A 점수 = 18 (1+4+6+7) ▶ 두 팀의 점수가 같으므로 5번째 선수 점수를 통해 A 팀 우승!! → 팀 C 점수 = 18 (2+3+5+8) [입력] : 첫 번째 줄 테스트 케이스 수 T (입력 데이터는 표준입력 사용) : 각 테스트 케이스의 첫 번째 줄에 결승점 통과한 인원수 N .. 2024. 1. 29.
[백준] 16926번 배열 돌리기 1 JAVA (자바) 풀이 문제 1707 크기가 N×M인 배열이 있을 때, 배열을 다음과 같이 반시계 방향으로 돌려야 한다 A[1][1] ← A[1][2] ← A[1][3] ← A[1][4] ← A[1][5] ↓ ↑ A[2][1] A[2][2] ← A[2][3] ← A[2][4] A[2][5] ↓ ↓ ↑ ↑ A[3][1] A[3][2] → A[3][3] → A[3][4] A[3][5] ↓ ↑ A[4][1] → A[4][2] → A[4][3] → A[4][4] → A[4][5] 예) 아래와 같은 배열을 2번 회전시키면 다음과 같다 1 2 3 4 2 3 4 8 3 4 8 6 5 6 7 8 1 7 7 6 2 7 8 2 9 8 7 6 → 5 6 8 2 → 1 7 6 3 5 4 3 2 9 5 4 3 5 9 5 4 [입력] : 첫째 줄에 배.. 2024. 1. 23.
[백준] 18111번 마인크래프트 JAVA (자바) 풀이 문제 18111 마인크래프트는 1 × 1 × 1 크기의 블록들로 건축 가능 땅의 높이를 모두 동일하게 만드는 ‘땅 고르기’ 작업 필수 세로 N, 가로 M 크기의 집터 내가 가진 블럭 B 집터 맨 왼쪽 위의 좌표는 (0, 0) 블록을 제거해 인벤토리에 넣기 = 2초 소요 인벤토리에서 블록 하나를 꺼내어 놓기 = 1초 소요 땅 고르기’ 작업에 걸리는 최소 시간과 그 경우 땅의 높이를 출력해라 (집터 아래에 빈 공간은 존재 X, 집터 바깥에서 블록 수집 X, 땅의 높이는 256블록을 초과 X, 음수 X) [입력] : 첫째 줄에 N, M, B (1 ≤ M, N ≤ 500, 0 ≤ B ≤ 6.4 × 107) : 둘째 줄부터 N개의 줄에 각각 M개의 정수로 땅의 높이 : (i + 2)번째 줄의 (j + 1)번째 수.. 2024. 1. 23.
[백준] 1707번 이분 그래프 JAVA (자바) 풀이 문제 1707 그래프의 정점의 집합을 둘로 분할 각 집합에 속한 정점끼리는 서로 인접하지 않도록 분할 그러한 그래프를 특별히 이분 그래프 (Bipartite Graph) 이 그래프가 이분 그래프인지 아닌지 판별해라 이분그래프란? 모든 정점을 두가지 색으로 표현 인접한 정점을 연결할 때에는 무조건 다른 색상의 것을 연결 (예시) [입력] : 첫째 줄에 테스트 케이스의 개수 K : 각 테스트 케이스, 첫째 줄에는 정점의 개수 V와 간선의 개수 E (공백으로 구분) (각 정점 = 1 ~ V까지 차례로 번호 부여) : 각 테스트 케이스, 둘째 줄부터 연결된 정점 u, v 2 3 2 1 3 2 3 4 4 1 2 2 3 3 4 4 2 → 테스트 케이스 2개 → 1번 케이스) 정점 3개 / 간선은 2개 → 정점 = .. 2024. 1. 23.
[백준] 10026번 적록색약 JAVA (자바) 풀이 문제 10026 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다 구역은 같은 색으로 이루어져 있다 같은 색상이 상하좌우로 인접해 있는 경우 같은 구역으로 취급 적록색약인 사람은 초록과 빨강은 같은 색으로 보여진다 적록색약인 사람이 봤을 때와 아닌 사람이 봤을 때 구역의 수를 구해라 (예시) RRRBB GGBBB BBBRR BBRRR RRRRR 적록색약이 아닌 사람 : 구역 총 4개 (빨강 2, 파랑 1, 초록 1) 적록색약인 사람은 : 구역 총 3개 볼 수 있다. (빨강 & 초록 2, 파랑 1) [입력] : 첫째 줄에 N (1 ≤ N ≤ 100) : 둘째 줄부터 N개 줄에는 그림 5 RRRBB GGBBB BBBRR BBRRR RRRRR [출력] : 적록.. 2024. 1. 22.