greedy(7)
-
[Baekjoon] 2212번: 센서
https://www.acmicpc.net/problem/2212 2212번: 센서 첫째 줄에 센서의 개수 N(1 ≤ N ≤ 10,000), 둘째 줄에 집중국의 개수 K(1 ≤ K ≤ 1000)가 주어진다. 셋째 줄에는 N개의 센서의 좌표가 한 개의 정수로 N개 주어진다. 각 좌표 사이에는 빈 칸이 하나 있 www.acmicpc.net 문제 설명 고속도로에 센서들이 설치되어 있다. 그리고 이 센서들 사이에 집중국을 세워서 센서에서 얻은 데이터를 처리한다고 한다. 최대 K개의 집중국을 설치할 수 있다고 할 때 각 집중국의 수신 가능영역 거리의 합의 최솟값을 구하는 프로그램을 작성해야 한다. 처음 문제를 보면 무슨 말인지 잘 모를 확률이 높으니 예제 입력 1을 가지고 그림으로 보자. 주어진 센서는 위와 같이..
2023.04.26 -
[Baekjoon] 11000번: 강의실 배정
https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si 2 4 5 --> 2 2 6 --> 3 으로 정렬되고 이를 알고리즘에 돌리면 결과는 3이 나온다. 이를 해결하려면 '시작하는 시간'을 기준으로 오름차순 정렬해야 한다. 그리고 힙 또는 우선순위 큐와 같..
2023.04.25 -
[Baekjoon] 1080번: 행렬
https://www.acmicpc.net/problem/1080 1080번: 행렬 첫째 줄에 행렬의 크기 N M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 행렬 A가 주어지고, 그 다음줄부터 N개의 줄에는 행렬 B가 주어진다. www.acmicpc.net 문제 설명 행렬 A와 B가 주어진다. 이 행렬은 모두 0 또는 1로 구성되어 있다. A를 B로 변환하는 최소 연산을 구해야 한다. 연산 방법은 0이면 1로, 1이면 0으로 3x3만큼 변환한다. 풀이 방법 간단하게 생각하면 간단하고 어렵게 생각하면 한없이 어려운 게 그리디 문제인 거 같다. [0, 0] 부터 한 칸씩 이동하면서 해당 칸이 B와 다르다면 해당 위치부터 3x3의 모든 칸을 반전시키면 된다. 그리고 마..
2023.04.24 -
[Programmers] 요격 시스템
https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 주어진 배열에서 겹치는 구간이 가장 많도록 하는 그리디 문제이다. 풀이 방법 먼저 끝나는 지점을 기준으로 오름차순 정렬한다. 그리고 정렬된 targets 배열을 순회하면서 시작하는 지점이 현재 끝나는 지점보다 크거나 같으면, 즉 겹치는 구간이 끝나면 새로운 구간의 시작이므로 카운트를 추가하고 끝나는 구간을 해당 개구간의 끝나는 지점으로 변경한다. import java.util.*; c..
2023.04.22 -
[Baekjoon] 1049번: 기타줄
https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 문제 설명 새로운 기타줄을 사기 위한 가능한 적은 돈을 구해야 한다. 끊어진 기타줄 개수 N개와 브랜드 M개가 주어지고, 각 브랜드에서 파는 기타줄 6개 묶음의 패키지와 낱개로 살 때 가격이 주어진다. 풀이 방법 단순한 그리디 문제이다. 먼저 오름차순 정렬을 하여 패키지에서 최솟값과 낱개의 최솟값을 구한다. 그 다음 패키지로만 샀을 때와 낱개로만 샀을 때의 가격을 비교하여 적은 값을 구한다. ..
2023.03.30 -
[Baekjoon] 1213번: 팰린드롬 만들기
https://www.acmicpc.net/problem/1213
2023.03.12