백준 2110 공유기 설치 풀이 (feat. JAVA)
·
Study/Algorithm
약한 이분 탐색을 풀기위해 요즘 계속 풀고 있다근데 이 문제는 너무 어렵게만 생각했던 문제...집 사이의 거리를 이분탐색으로 정해주되, 각 집끼리 거리가 필요한만큼 벌어졌는지 체크는 그냥 for문 돌리면 됐다가끔은 어려운 문제가 내가 고심했던 어려운 방법보다 더 쉬운 방법으로 풀리는듯package Record_2025;/*[백준]2110, 공유기 설치[문제파악]- 도현이의 집 N개가 수직선 위에 있다.- 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다.- 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다.- 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 ..
백준 9251 LCS 풀이 (feat. JAVA)
·
Study/Algorithm
DP가 그렇게 헷갈리던 문제DP는 규칙 못찾아서 식 못세우면 그냥 어디부터 건드려야할지...어렵다 ㅠ막상 보면 쉬운데 그 쉬운걸 못하고 있네DP도 진짜 많이 풀어봐야할 문제 카테고리 중 하나package Record_2025;/*[백준]9251, LCS[문제파악]- LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다.- 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다.[입력]- 첫째 줄과 둘째 줄에 두 문자열이 주어진다.- 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다.[출력]- 첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 ..
백준 17612 쇼핑몰 풀이 (feat. JAVA)
·
Study/Algorithm
너무 어렵게 생각해서 못 푼 문제PQ에 있는걸 꼭 전부 다 실시간으로 업데이트하려고 하지말고, 그냥 저장소처럼 하나씩 기록해두는 용도로 쓰는 것까지도 염두에 둬보자 ㅠ그리고 제발 좀 int로 해결되는지도 체크하는 습관을 들이라고~/*[백준]17612, 쇼핑몰[문제파악]- 대형 쇼핑몰에서 쇼핑을 마친 N명의 고객들이 계산을 하고 쇼핑몰을 떠나고자 계산대 앞에 줄을 서 있다.- 각 고객은 커다란 짐수레(cart)에 물건을 담아 계산대로 간다.- 쇼핑몰에는 아래 그림과 같이 K개의 계산대가 병렬로 배치되어 있다.- 쇼핑몰 안내원들은 계산대에 온 사람들을 가장 빨리 계산을 마칠 수 있는 계산대로 안내를 한다.- 안내원은 각 계산대에서 기다리고 있는 사람들이 계산을 하는데 얼마나 걸리는지 이미 알고 있다.- 안내..
백준 2461 대표 선수 풀이 (feat. JAVA)
·
Study/Algorithm
아니 너무 어려운거 아니냐고요 ㅠPQ는 왤케 다채로운 문제가 많은걸까 (근데 모든 알고리즘이 그렇겠지..)얘는 진짜 다시 풀어봐라 꼭꼭꼭!package Record_2025;/*[백준]2461, 대표 선수[문제파악]- KOI 중학교에는 N개의 학급이 있으며, 각 학급의 학생 수는 모두 M명으로 구성된다. 이 중학교에서는 체육대회에 새로운 종목의 경기를 추가하였다.- 이 경기에 대해 모든 학생들은 저마다의 능력을 나타내는 능력치를 가지고 있으며, 이 능력치는 모든 학생이 서로 다르다.- 이 경기는 한반에서 한 명의 대표선수를 선발하여 치른다.- 경기의 형평성을 위하여, 각각의 반에서 대표로 선발된 모든 학생들의 능력치 중 최댓값과 최솟값의 차이가 최소가 되도록 선수를 선발하려고 한다.- 예를 들어, N=3..
백준 1826 연료채우기 풀이 (feat. JAVA)
·
Study/Algorithm
아 PQ 문제는 곧잘 익숙해지지가 않는다(그나마 다행인건 PQ를 다루는 것에는 익숙해지고 있다)더 많이 풀어봐야 할듯하다/*[백준]1826, 연료채우기[문제파악]- 성경이는 트럭을 정글 속에서 운전하다가 트럭의 연료탱크에 갑자기 구멍이 나서 1km를 가는데 1L의 연료가 새 나가게 되었다.- 이것을 고치기 위해서는 가장 가까운 마을에 가야 한다.- 그런데 그냥 가다가는 중간에 연료가 다 빠질 수가 있다.- 다행스럽게도 정글 곳곳에 연료를 채울 수 있는 주유소가 N개 있다.- 그런데 정글 속에서 중간에 차를 멈추는 행위는 매우 위험한 행위이므로 주유소에서 멈추는 횟수를 최소화 하려 한다.- 그리고 다행이도 성경이의 트럭은 매우 좋아서 연료 탱크에는 연료의 제한이 없이 많이 충분히 많이 넣을 수 있다고 한다..
백준 11000 강의실 배정 풀이 (feat. JAVA)
·
Study/Algorithm
PQ를 기록용 자료구조로 쓸 수도 있구나..를 깨달아버린 문제..그냥 맨날 뭐 다 정렬에만 쓰고, 클래스 만들어서 디밀어넣고 했는데근데 생각해보면 그냥 얘도 자료구조의 하나일 뿐인데 왜 isVisited마냥 단순 기록하는데 못 썼을까당연한 말인데 당연하지 못했던 지난 날의 내 풀이법들 ㅠ개선하자~~package Record_2025;/*[백준]11000, 강의실 배정[문제파악]- 수강신청의 마스터 김종혜 선생님에게 새로운 과제가 주어졌다.- 김종혜 선생님한테는 Si에 시작해서 Ti에 끝나는 N개의 수업이 주어지는데, 최소의 강의실을 사용해서 모든 수업을 가능하게 해야 한다.- 참고로, 수업이 끝난 직후에 다음 수업을 시작할 수 있다. (즉, Ti ≤ Sj 일 경우 i 수업과 j 수업은 같이 들을 수 있다..
백준 1202 보석 도둑 풀이 (feat. JAVA)
·
Study/Algorithm
쉽..네...? 했다가 탈탈 털린 문제PQ를 쓰는 방법도 여러가지였고, 자료형의 함정을 파둔 것을 눈치 못채고 있다가 뚜들겨 맞았음진짜 다양한 문제, 특히 어려운 문제도 여럿 접해봐야 하는걸 여실히 느꼈다봐본적 없는 풀이법과 생각에 '와 이런게 있어' 하는 지점이 너무 많기 때문...열심히 풀어봅시당package Record_2025;/*[백준]1202, 보석도둑[문제파악]- 세계적인 도둑 상덕이는 보석점을 털기로 결심했다.- 상덕이가 털 보석점에는 보석이 총 N개 있다. 각 보석은 무게 Mi와 가격 Vi를 가지고 있다.- 상덕이는 가방을 K개 가지고 있고, 각 가방에 담을 수 있는 최대 무게는 Ci이다.- 가방에는 최대 한 개의 보석만 넣을 수 있다.- 상덕이가 훔칠 수 있는 보석의 최대 가격을 구하는..
백준 1766 문제집 풀이 (feat. JAVA)
·
Study/Algorithm
위상정렬을 처음 마주했다이게 뭔데!!!!!배워도 배워도 늘 새로운게 나오다니... 짜릿하네요나중에 꼭 다시 풀어보자package Record_2025;/*[백준]1766, 문제집[문제파악]- 민오는 1번부터 N번까지 총 N개의 문제로 되어 있는 문제집을 풀려고 한다.- 문제는 난이도 순서로 출제되어 있다.- 즉 1번 문제가 가장 쉬운 문제이고 N번 문제가 가장 어려운 문제가 된다.- 어떤 문제부터 풀까 고민하면서 문제를 훑어보던 민오는, 몇몇 문제들 사이에는 '먼저 푸는 것이 좋은 문제'가 있다는 것을 알게 되었다.- 예를 들어 1번 문제를 풀고 나면 4번 문제가 쉽게 풀린다거나 하는 식이다.- 민오는 다음의 세 가지 조건에 따라 문제를 풀 순서를 정하기로 하였다.- N개의 문제는 모두 풀어야 한다.- ..
백준 13325 이진트리 풀이 (feat. JAVA)(R)
·
Study/Algorithm
이거는.. 너무 어려웠다...뭐라는거야 진짜 ㅠ 일단 온종일 붙잡고 최대한 이해하려고 노력함..근데 진짜 더는 머리가 안 돌아감추후에 다시 풀어보자.. /*[백준]13325, 이진 트리[문제파악]- 각 에지에 양수인 가중치가 부여된 높이가 k인 포화이진트리가 주어져 있다.- 높이 k인 포화이진트리는 2k개의 리프를 포함하여 (2k+1 − 1)개의 노드를 가진다.- 루트에서 어떤 리프까지의 거리는 루트에서 그 리프까지의 경로상에 있는 모든 에지들의 가중치를 더한 값이다.- 이 문제에서는, 어떤 에지들의 가중치를 증가시켜서 루트에서 모든 리프까지의 거리가 같도록 하고, 또한 에지 가중치들의 총합을 최소화 하려고 한다.- 예를 들어, 그림 1(a)에 있는 높이 2 인 포화이진트리를 살펴보자.- 에지 옆에 있는..
백준 2638 치즈 풀이 (feat. JAVA)
·
Study/Algorithm
와! 답보지 않고 잘 풀어냈다!! (드디어!!)이 문제는 아래 순서로 푸는게 팁이었음 (다른 사람들도 이렇게 풀더라 신기...)1) 공기로부터 탐색 시작 (BFS, DFS)2) 치즈를 만나면 따로 저장해둠3) 저장해둔 치즈에서 사방탐색을 시도4) 2면 이상 공기와 접촉 시, 녹임5) 다시 반복 유의할 점은 2면 이상 공기와 접촉했는지 체크할 때, 치즈에게 둘러쌓여 내부로 판정되는 공기는 공기가 아니라는 점!!!이것 때문에 4%에서 계속 터졌다...아래가 반례니 넣어보시면 알듯더보기반례 (내부 공기는 별도로 체크되고 있는지)9 90 0 0 0 0 0 0 0 00 0 0 0 1 0 0 0 00 1 1 0 1 0 1 0 00 1 1 1 1 1 1 0 00 0 1 0 1 1 0 1 00 1 0 1 1 0 1 0..