백준 3079 입국심사 풀이 (feat. JAVA)
·
Study/Algorithm
이것도 너무 어렵게만 생각했다내가 30분 넘게 문제 구현방법에 대해서만 고민했는데, 내가 묶여있던 곳은 비어있는 B심사관을 패스하고, 1초 기다렸다가 A심사관에게 받겠다는 판단 요소를 처리할 방법 지점이었다근데 도저히 모르겠어서 참고했는데, 확인해보니 이것은 고려할 필요 자체가 없었다 그 사유는 그냥 심사대 입장에서, 최대 처리량을 미리 계산해두면 되는 것이다N초 동안 모든 심사대가 최대로 처리할 수 있는 인원 수를 계산해두면, 현재 인풋인 N명을 처리할 수 있는지 어쩐지 결과가 나온다그 최댓값 안에만 들어가면 된다는 소리...그도 그럴 것이 아래와 같은 상황을 생각해보면 된다[3초 걸리는 심사대][6초 걸리는 심사대]있다고 할 때 5명, 9초를 준다면?총 4명을 처리할 수 있다근데 이건 그냥 6초 걸리..
백준 17266 어두운 굴다리 풀이 (feat. JAVA)
·
Study/Algorithm
2주 가까운 시간동안 이분탐색만 풀었는데 이거 하나는 확실하게 가져가게 도와준 문제while (left while (left 모든 가로등 좌표마다 어떻게 계산하나 싶었는데 현 좌표 기준으로 밝힐 수 있는 거리를 -, + 해가지고 밝히는 것이 이 문제의 핵심이었다/*[백준]17266, 어두운 굴다리[문제파악]- 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다.- 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다.- 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙빙 돌아서 집으로 간다.- 안타깝게 여긴 인식이는 굴다리 모든 길 0~N을 밝히게 가로등을 설치해 달라고 인천광역시에 민원을 넣었다.- 인천광역시에서 가로등을 설치할 개수 M과 각 가로등의 위치 x들의 결정을 끝냈다..
백준 12738 가장 긴 증가하는 부분 수열 3 풀이 (feat. JAVA)
·
Study/Algorithm
아.. 이분 탐색 기억 날아가기 전에 다진다고 시도한건데 또 틀림 ㅋㅋ이전에 미적지근하게 알고 있었나부다...이번엔 궁금한거 다 파고들면서 공부해씀package Record_2025;/*[백준]12738, 가장 긴 증가하는 부분 수열 3[문제파악]- 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.- 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.[입력]- 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다.- 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (-1,000,000,000 ≤ Ai ≤ 1,..
백준 12015 가장 긴 증가하는 부분 수열 2 풀이 (feat. JAVA)
·
Study/Algorithm
처음으로...개념 방향 확인만 하고 스스로 풀어낸 첫 이분탐색 ㅠ (따흐흑)아 이분 탐색 범위 잡는거 이거 진짜 헷갈린다while (left 근데 사실 그렇게 어려울게 없는게 그냥 종료조건이 무엇이냐를 잘 생각해보면 되는데 참... 이게 어렵다괜찮아 모르면 알 때까지 풀면 되지.. 이분탐색 더 풀면 된다../*[백준]12015, 가장 긴 증가하는 부분 수열 2[문제파악]- 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.- 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.[입력]- 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,00..
백준 9024 두 수의 합 풀이 (feat. JAVA)
·
Study/Algorithm
JAVA 8 터집니닷!! JAVA 11로 하십쇼!!아 자꾸 터지길래 하다 못해서 구글링 코드 그대로 복붙해도 메모리 터짐..질문게시판 안가려다가 가보니까 다들 JAVA 11로 대피하라고 써있더라 (진즉 볼걸;;;)아무튼 이분 탐색에 조금씩 익숙해져가는게 느껴졌던 문제라 좋았다구현 방식은 올바르게 기획했으나, 구현에서 빵꾸나서 실패했던 문제좀 더 파보자!! 아 오늘은 풀이법이 두 개다 하도 메모리 터져서 다른 방식으로 하나 더 구현했음 (그래봐야 이분탐색으로만 했음..)첫번째 버전이 더 깔끔해서 내 취향근데 속도도 첫번째가 좀 더 빠르긴했음문제 분석/*[백준]9024, 두 수의 합[문제파악]- 여러 개의 서로 다른 정수 S = {a1, a2, …, an} 와 또 다른 정수 K 가 주어졌을 때, S 에 속하..
백준 2428 표절 풀이 (feat. JAVA)
·
Study/Algorithm
이분탐색... ㅂㄷㅂㄷ얘도 PQ처럼 한 2주 잡고 매일 매일 도전해야할 것 같다어려워 어려워그래도 오늘은 lower bound 개념을 이해하고... 이분 탐색을 경계를 찾거나(index), 특정 값을 찾는 등에서, 크게 2가지에서 장점이 있음을 알았package Record_2025;/*[백준]2428, 표절[문제파악]- 세계적인 석유 재벌이 1등 상품으로 페라리를 걸고 프로그래밍 대회를 개최했다.- 이 대회의 참석자는 총 N명이고 각각 솔루션 파일 1개를 제출했다.- 이 솔루션 파일을 F1, F2, ..., Fn이라고 한다.- 채점 결과를 발표하기 전에, 남의 것을 배낀 사람이 있는지 찾아내려고 한다.- 이 대회의 주최측은 두 파일을 비교해서 너무 비슷한지 아닌지 판별하는 프로그램이 있다.- 하지만, ..
백준 2792 보석 상자 풀이 (feat. JAVA)
·
Study/Algorithm
풀수록 나는 이분 탐색을 잘 모르는듯하다난이도를 낮춰가며 풀어도 어렵네 ㅠ당분간은 이분탐색만 풀어야겠다 이분탐색인지 판별하는 방법 1) 정답이 특정한 수의 범위 내에서 최솟값 or 최댓값을 찾는 문제라면?! 2) 결정문제 (YES/NO)로 바꿀 수 있다면?!package Record_2025;/*[백준]2792, 보석 상자[문제파악]- 보석 공장에서 보석 상자를 유치원에 기증했다.- 각각의 보석은 M가지 서로 다른 색상 중 한 색상이다.- 원장 선생님은 모든 보석을 N명의 학생들에게 나누어 주려고 한다.- 이때, 보석을 받지 못하는 학생이 있어도 된다.- 하지만, 학생은 항상 같은 색상의 보석만 가져간다.- 한 아이가 너무 많은 보석을 가져가게 되면, 다른 아이들이 질투를 한다.- 원장 선생님은 이런 질..
백준 3020 개똥벌레 풀이 (feat. JAVA)
·
Study/Algorithm
이분탐색을 어디서 써야하는지 감을 못잡던 문제얘는 이해하는데도 좀 애를 먹었다 현재 높이에서 몇개의 석순, 종유석에 부딪히는지 구할 때 for문을 쓰게 될 것이다이 때 현재 높이에서 부딪히는 것들을 계산할 때 이분탐색을 쓰게 된다석순 따로, 종유석 따로 계산한다 석순에서 이분탐색을 통해 최댓값을 조여가며 h 높이와 같거나 그보다 큰 것의 위치를 찾는다([1, 3, 5, 7, 8, 9, 10]에서 비행높이가 h가 3이면, 2번째인 3이 나올 때까지 right를 조여가는 것) 그러면 이제 전체 배열의 길이 7에서 2를 빼면 총 5개에 부딪힌단 소리다그럼 이제 이렇게 석순을 구했으면, 종유석도 똑같이 구하고 둘이 더해주면 현 비행높이에서 부셔야하는 것들의 갯수가 나온다그게 이 문제의 이분탐색 구현 방법임.....
백준 2467 용액 풀이 (feat. JAVA)
·
Study/Algorithm
투포인터 접근법은 맞았던, 그치만 좀 헤맸던 이진 탐색 문제나 이진탐색 겁나 못푸네;;;당분간 얘만 풀어야겠네..package Record_2025;/*[백준]2467, 용액[문제파악]- KOI 부설 과학연구소에서는 많은 종류의 산성 용액과 알칼리성 용액을 보유하고 있다.- 각 용액에는 그 용액의 특성을 나타내는 하나의 정수가 주어져있다.- 산성 용액의 특성값은 1부터 1,000,000,000까지의 양의 정수로 나타내고, 알칼리성 용액의 특성값은 -1부터 -1,000,000,000까지의 음의 정수로 나타낸다.- 같은 양의 두 용액을 혼합한 용액의 특성값은 혼합에 사용된 각 용액의 특성값의 합으로 정의한다.- 이 연구소에서는 같은 양의 두 용액을 혼합하여 특성값이 0에 가장 가까운 용액을 만들려고 한다.-..
백준 2110 공유기 설치 풀이 (feat. JAVA)
·
Study/Algorithm
약한 이분 탐색을 풀기위해 요즘 계속 풀고 있다근데 이 문제는 너무 어렵게만 생각했던 문제...집 사이의 거리를 이분탐색으로 정해주되, 각 집끼리 거리가 필요한만큼 벌어졌는지 체크는 그냥 for문 돌리면 됐다가끔은 어려운 문제가 내가 고심했던 어려운 방법보다 더 쉬운 방법으로 풀리는듯package Record_2025;/*[백준]2110, 공유기 설치[문제파악]- 도현이의 집 N개가 수직선 위에 있다.- 각각의 집의 좌표는 x1, ..., xN이고, 집 여러개가 같은 좌표를 가지는 일은 없다.- 도현이는 언제 어디서나 와이파이를 즐기기 위해서 집에 공유기 C개를 설치하려고 한다.- 최대한 많은 곳에서 와이파이를 사용하려고 하기 때문에, 한 집에는 공유기를 하나만 설치할 수 있고, 가장 인접한 두 공유기 ..