분류 전체보기 (70) 썸네일형 리스트형 백준 계단(21600) DP 문제를 풀게되었다. https://www.acmicpc.net/problem/21600 21600번: 계단 자료의 분포를 아래의 그림과 같이 나타낸 그래프를 히스토그램이라고 합니다. 당신은 히스토그램 영역에서 가장 큰 계단을 찾으려고 합니다. 계단은 아래 조건을 만족하는 영역을 말합니다. www.acmicpc.net 왼쪽에서 오른쪽으로 가장 높은 계단을 만들 수 있는 경우를 구하는것이다. 해당 문제는 현재 차례의 자리가 만들 수 있는 가장 높은 높이를 저장하면서 구하면된다. 필자 같은 경우는 처음 높이는 1로 시작하면서 진행했고 이전 높이보다 현재 높이가 높으면 현재 자리는 이전높이 + 1를 해준다 그렇지 않는 경우는 현재 높이와 이전 높이중 작은 값을 설정해준다. 이후 최대 값을 찾으면 된다. i.. 백준 사격(31264) 이분 탐색 문제이다. https://www.acmicpc.net/problem/31264 31264번: 사격 초기 사격 실력이 $1$이라면 $1$점 표적, $2$점 표적, $4$점 표적을 차례로 쏴 총 $7$점을 얻어 진급에 실패한다. 초기 사격 실력이 $2$라면 $2$점 표적, $4$점 표적, $5$점 표적을 차례로 쏴 총 $11$점을 얻 www.acmicpc.net 해당 문제를 정확이 풀기 위해서는 이분탐색을 사용해야한다. 처음에는 중복으로 사격 가능한걸 놓쳐서 고생을 하다 중복가능성을 보고 문제를 풀었다.... 해당 문제는 현재 사격가능한 최대 점수 기준으로 최대 사격 점수를 가져와 나의 사격 가능 점수를 높이면서 M번 사격했을때 총합을 비교하면된다. 처음에는 위에 방법만 사용하니 50점을 맞았는데.. 백준 두 수의 합(9024) 이분 탐색 문제이다. https://www.acmicpc.net/problem/9024 9024번: 두 수의 합 프로그램은 표준입력으로 입력을 받는다. 프로그램 입력은 t 개의 테스트 케이스로 구성된다. 입력의 첫 번째 줄에 테스트 케이스의 개수를 나타내는 정수 t 가 주어진다. 두 번째 줄부터 두 줄 www.acmicpc.net 두 수의 합 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 2217 936 688 43.544% 문제 여러 개의 서로 다른 정수 S = {a1, a2, …, an} 와 또 다른 정수 K 가 주어졌을 때, S 에 속하는 서로 다른 두 개의 정수의 합이 K 에 가장 가까운 두 정수를 구하시오. 예를 들어, 10 개의 정수 S = { -7, 9, 2, -4, 12.. 백준 입국심사(3079) 오늘은 이진탐색 문제를 하나 풀어보았다. https://www.acmicpc.net/problem/3079 3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net 입국심사를 최소 시간을 돌 수 있는 케이스를 찾아보기 위해서 시간을 이분탐색하며 해당 시간에 모두 심사를 마칠수 있는지 체크하는 방식으로 진행했다. 알고리즘은 맞는거 같은데 틀리길래 확인해보니 나는 최대로 오래걸리는 입국심사위원 * 대상자가 최대 시간이라 생각했는데 이러면 overflow가 나오는거 같다 그리하여 최소입국 심사위원으로 변경하니.. 백준 개똥벌레 (3020) 이분탐색 문제 찾아 풀어봤다 https://www.acmicpc.net/problem/3020 3020번: 개똥벌레 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 www.acmicpc.net 개똥벌레 성공다국어 한국어 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 17682 7763 5710 45.014% 문제 개똥벌레 한 마리가 장애물(석순과 종유석)로 가득찬 동굴에 들어갔다. 동굴의 길이는 N미터이고, 높이는 H미터이다. (N은 짝수) 첫 번째 장애물은 항상 석순이고, 그 다음에는 종유석과 석순이 번갈아가면서 등장한다. 아래 그림은 길이.. 백준 시간관리(1263) 그리디 문제 하나 풀었다. https://www.acmicpc.net/problem/1263 1263번: 시간 관리 진영이는 캠프 조교를 온 후 효율적으로 시간 관리를 해야 한다는 것을 깨달았다. 진영이는 하루에 해야 할 일이 총 N개가 있고 이 일들을 편하게 1번부터 N번까지 차례대로 번호를 붙였다. 진영 www.acmicpc.net 시간 관리 성공 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 3542 1483 1253 42.503% 문제 진영이는 캠프 조교를 온 후 효율적으로 시간 관리를 해야 한다는 것을 깨달았다. 진영이는 하루에 해야 할 일이 총 N개가 있고 이 일들을 편하게 1번부터 N번까지 차례대로 번호를 붙였다. 진영이는 시간을 효율적으로 관리하기 위해, 할 일들에 대해.. Spring STOMP 프로토콜 사용 채팅 서버 구축 고민점 다중 서버 세션관리는 어떻게 구현해야할까? 메세지 전달 방식 및 클라이언트 서버 구성은 어떻게 해야할까? 오늘은 간단한 테스트로 WAS + NoSQL + Redis로 테스트 개발로 진행했다. Redis를 이용하여 pub/sub 방식의 STOMP 프로토콜로 진행해보고자 한다. NoSQL 몽고 디비를 사용하였고 NoSQL을 이용하하여 채팅방 설정 정도로 간단하게 적용해보았다. Redis redis를 통하여 pub/sub 방식으 채널 구독자가 메세지를 가져감으로써 다중 서버에서도 메세지 교환이 원할하게 이루어질 수 있게 진행했다. 추후에 해당 내용을 정리 할 예정이다. WAS (Spring boot) spring boot + thymeleaf로 하나의 WAS에서 처리하는 방식으로 진행했.. Spring Web Socket 서버 생성 프로젝트 시작 개요 웹서버를 주로 만지고 채팅은 따로 구현해본 기억이 없고, 개인적으로 하고있는 프로젝트에 사이드 프로젝트로 웹 채팅을 만들어보고자 한다. 주로 우리가 많이사용하고있는 HTTP 웹 서버는 stateless로 소켓을 유지하고있지 않으며, 한번 통신후 연결을 해제 해 버린다. 채팅은 좀 다른 개념으로가야한다 HTTP 통신이 아닌 TCP 소켓 통신을 통하여 연결하여 서로간의 메세지를 교환하다 세션을 종료해주는 방식으로 생각하고있다. STOMP 프로토콜의 pub/sub를 이용한 통신을 통해도 채팅서버 구축이 가능 해보인다. 필자는 일단 간단하게 만들어보는 수준으로 주로 사용하고있는 기술 스프링부트를 이용하여 소켓 통신 채팅서버를 만들어보려한다. 간단하게 의존성 몇개주입하고 만들었다. 웹 소켓 C.. 백준 숌 사이 수열(1469) 백트래킹 문제를 풀어보았다 복잡해서 시간이 오래걸렸다. https://www.acmicpc.net/problem/1469 1469번: 숌 사이 수열 첫째 줄에 X의 크기 N이 주어진다. 둘째 줄에 X에 들어가는 수가 빈칸을 사이에 두고 주어진다. X의 크기는 8보다 작거나 같은 자연수이다. X의 원소는 0보다 크거나 같고 16보다 작거나 같은 정수 www.acmicpc.net 초기에는 가능한 종류를 만들어보려고 하였지만 시간초과 발생 할 것같아서 주어진 경우의 수에서 가능한 경우의 수를 찾는 방식으로 처리를 했다. 문제의 핵심은 현재 뽑은 원소의 값이 2개가 위치할 수있는가 예를들어 2라면 현재 위치 2 ? ? 2 해서 마지막 2가 놓일 수 있는가 핵심이다. 나의 로직에서는 depth + element .. 백준 로프(2217) 그리디 문제를 한개 더풀어봤다 생각보다 이 알고리즘이 재미가 있다. https://www.acmicpc.net/problem/2217 2217번: 로프 N(1 ≤ N ≤ 100,000)개의 로프가 있다. 이 로프를 이용하여 이런 저런 물체를 들어올릴 수 있다. 각각의 로프는 그 굵기나 길이가 다르기 때문에 들 수 있는 물체의 중량이 서로 다를 수도 있다. 하 www.acmicpc.net 로프의 개수가 늘어날수록 (로프 리스트 중 가장 낮은값 * 로프 개수가) 최대 무게가 된다 이러한 방식으로 정렬되어있는 로프를 순서대로 최적해를 찾아가면 된다. package greedy; import java.io.BufferedReader; import java.io.IOException; import java.io... 이전 1 ··· 3 4 5 6 7 다음