분류 전체보기 224

[골드 2] 색종이 붙이기

https://www.acmicpc.net/problem/17136 17136번: 색종이 붙이기 과 같이 정사각형 모양을 한 다섯 종류의 색종이가 있다. 색종이의 크기는 1×1, 2×2, 3×3, 4×4, 5×5로 총 다섯 종류가 있으며, 각 종류의 색종이는 5개씩 가지고 있다. 색종이를 크 www.acmicpc.net 뭐 그렇게 어렵지 않았는데? 이게 골드 2??? 10*10을 이제 i 탐색 { j 탐색} 하자 근데 1을 만났어 그러면 무조건 5*5를 붙이는 게 최소를 만들기에 그리디 하고 좋은 거 아닌가? 0이 적힌 칸에는 색종이가 있으면 안 된다 이점 조금 늦게 인지했음 아 뭐야 그러면 그냥 큰 크기부터 검사해서 붙이면 되겠는데 그냥? -> 실패 왜냐하면 2*2를 붙일 수 있어도 1*1을 붙이는 게..

🟦/백준 2023.08.27

[골드 4] 게리맨더링 (의문점)

https://www.acmicpc.net/problem/17471 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net 1. 모든 점에서 dfs(방문해제) 하는데 all_sum과 sum의 절댓값 차이로 판단하자 문제점 1. A섬은 확정이지만 B섬은 확정이 아닐 수 있다 B섬이 여러 개 일 수 있음 이러면 문제 조건에 안 됨 문제점 2. 모든 점에서 dfs(방문해제) 한다고 해서 비완전 그래프의 모든 부분그래프를 구할 수 있는 게 아니다 ->이 걸 알아내는데 진짜 ㅈㄴ 오래 걸렸음 https://www.notion.so/jinyong35..

🟦/백준 2023.08.25

[골드 5] 파이프 옮기기 1

https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net 1. class Point { int y; int x; Point(int y, int x) { this.y = y; this.x = x; } } class Pipe { Point head; Point tail; String direction; Pipe(Point head, Point tail, String direction) { this.head = head; this.t..

🟦/백준 2023.08.24

[골드 3] 괄호 추가하기

https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 연산자 우선순위는 모두 동일하기 때문에, 수식을 계산할 때는 왼쪽에서부터 순 www.acmicpc.net 1. 숫자 기준 조합 짜기? 선택당한 애들은 혼자 계산하게 되는 거지 이게 맞아? 너무 복잡한 거 아니야? 2. 개 막일 뛰어서 그림 그려봤더니 규칙이 있긴 하네 2-1. 맨 끝자리 친구가 이미 연산한 친구다 -> 무조건 뒤도 안 보고 새 연산 붙이기 2-2. 맨 끝자리 친구가 연산 안 했다 -> 무조건 뒤도 안 보고 새 연산 붙이기 or 연산해 버리기 ㅇㅋ 일단 저렇게 풀어보자 내가..

🟦/백준 2023.08.23

[골드 5] 집합의 표현

https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 배운 대로 안 보고 구현 집중해야 하는 점은 union 할 때 작은놈이 대표자가 되게 하는 것 find_parent 할 때 return 하며 할당 재귀 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException {..

🟦/백준 2023.08.21