본문 바로가기

전체54

[백준, 7662, G4] 이중 우선순위 큐 0. 문제 링크 https://www.acmicpc.net/problem/7662 7662번: 이중 우선순위 큐 입력 데이터는 표준입력을 사용한다. 입력은 T개의 테스트 데이터로 구성된다. 입력의 첫 번째 줄에는 입력 데이터의 수를 나타내는 정수 T가 주어진다. 각 테스트 데이터의 첫째 줄에는 Q에 적 www.acmicpc.net 1. 문제 핵심 우선순위 큐인데 입력받은 값을 양쪽으로 제거할 수 있어야 합니다. 2. 문제 접근 자바의 PriorityQueue는 처음 선언할 때 comparator를 변경할 수 없기 때문에 PQ를 2개 만들던가, 아니면 다른 Collection을 사용해야 한다고 생각은 했습니다. 하지만 PQ를 2개 만들었을 때 가장 높은 데이터를 삭제했을 때 오름차순 PQ에 저장한 해당 데.. 2022. 10. 18.
[백준, 13905, G4, MST] 세부 0. 문제 링크 https://www.acmicpc.net/problem/13905 13905번: 세부 첫 번째 줄에는 섬에 존재하는 집의 수 N(2≤N≤100,000)와 다리의 수 M(1≤M≤300,000)이 주어진다. 두 번째 줄에는 숭이의 출발 위치(s)와 혜빈이의 위치(e)가 주어진다. (1≤s, e≤N, s≠e). 다음 M개의 줄 www.acmicpc.net 1. 문제 핵심 그래프 탐색을 하며 출발지부터 목적지까지 경로를 탐색하는 중에 가장 빼빼로를 많이 들고갈 수 있는 경로를 탐색하는 문제입니다. 2. 문제 접근 그래프 탐색이기 때문에 별 생각없이 다익스트라를 사용했습니다. 다익스트라를 사용했을 때 가지치기를 적절히 사용해준다면 문제는 풀립니다. 하지만 자바 1등과 시간 차이가 커서 다른 방법.. 2022. 10. 18.
[백준, S1, DP] 쉬운 계단 수 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st; int N = Integer.parseInt(br.readLine()); int size = 0; if (N == 1) size = 3; else size = N + 1; long[][] dp = new long[N + 1][10]; for (int i = 1; i < 10; i++) { dp[1][i] = 1; } for (int.. 2022. 10. 18.
[백준, G5, 그리디] 강의실 배정 0. 문제 링크 https://www.acmicpc.net/problem/11000 11000번: 강의실 배정 첫 번째 줄에 N이 주어진다. (1 ≤ N ≤ 200,000) 이후 N개의 줄에 Si, Ti가 주어진다. (0 ≤ Si 수업이 마치는 순으로 정렬을 해주었습니다. 2. 다만 그 이후에 최소한으로 강의실을 사용하기 위해 정렬한 강의 시간을 어떻게 활.. 2022. 10. 17.
[백준, 자바, S2] 연속합 0. 문제 링크 https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 1. 문제 핵심 연속된 숫자들의 합 중 가장 큰 수를 더하는 것 2. 문제 접근 DP 문제인 것을 알고 있었던만큼 이전의 값으로 이후의 결과를 도출하기 위한 아이디어를 생각했었다. 첫 값은 먼저 받아서 변수들에 입력해준 뒤 이후에 입력 받은 값들을 더했을 때 case에 따라 나눠 구분했다. 합이 0보다 작아지는 경우 sum을 가장 마지막에 입력받은 값으로 바꿔주었고 sum이 양수인 경우엔 새.. 2022. 10. 17.
[codeTree, 자바] 술래 잡기 0. 문제 링크 https://www.codetree.ai/frequent-problems/hide-and-seek/description 코드트리 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 문제 핵심 나무와 겹치는 도망자는 잡히지 않는다. 술래는 격자의 크기와 상관없이 자신의 자리를 포함한 3칸 내의 도망자만 잡는다. 도망자는 이동 중 술래와 겹칠 수 없다. 2. 문제 접근 도망자 이동, 술래 이동(및 회전), 술래 잡기, 총 세 단계로 진행되게끔 모듈화했습니다. 모듈화하였음에도 디버깅이 오래 걸렸는데 일단 구현할 것들도 꽤 많지만 가장 큰 실수로 3칸 내에서 이동 가능한 도망자 탐색과 도.. 2022. 10. 14.
[백준, 2293] 동전 1 0. 문제 링크 https://www.acmicpc.net/problem/2293 2293번: 동전 1 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 1. 문제 핵심 1. DP 문제로 점화식을 찾는 것이 중요. 2. 4MB 제한이 있기 때문에 1차원 배열로 해결해야 함. 3. n가지 종류의 동전으로 k원을 만드는 경우의 수를 구해야 하지만 순서는 중요하지 않음. 2. 문제 접근 점화식 감을 못잡아서 솔루션 봤음. 1차원 DP 배열을 선언해서 차례대로 동전의 사용 가지 수를 계산 가능. 크기가 1인 동전은 모든 경우에서 무조건 한 .. 2022. 10. 13.
젠킨스 타임존 변경 1. 젠킨스 실행 폴더에 옵션을 주는 방식 2. 도커인 경우 실행 시 옵션 주는 방식 3. 도커파일로 옵션 주고 빌드하는 방식 4. 젠킨스 내 스크립트 실행하는 방식 등이 있는데 4번이 확실하고 편하게 적용할 수 있습니다. 이미지대로 따라오면 됩니다. 1. Jenkins 관리 클릭 2. 스크립트 콘솔 클릭 3. 콘솔 창에 다음 명령어 실행 System.setProperty('org.apache.commons.jelly.tags.fmt.timeZone', 'Asia/Seoul') 4. 실행 클릭 2022. 9. 25.
[PG, 자바] 주차요금계산 0. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/92341 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 차량이 주차장에 있었던 시간을 기록한 후 단위 시간만큼 나눈 뒤 그만큼 단위 요금을 계산하는 문제. 2. 문제 접근 1. 입차와 출차의 차이만큼 시간을 계산해서 적립하고 출차 하지 않았을 때는 23:59분을 출차 시간로 해서 차이만큼 시간을 적립 2. 모든 방문 차량의 번호판을 기록 및 오름차순 출력 3. 한 번이라도 방문했다면 기본 요금 부과 4. 중요 예외상황:.. 2022. 9. 20.
[PG, 자바] 합승택시요금 0. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/72413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 어느 지점에서 헤어질 것인지 구하는 것이 중요. 2. 문제 접근 첫 접근법 처음에는 각 지점별로 다익스트라를 통해서 최단 길이를 구하고 시작 지점 ~ 중간 지점 비용 + 중간 지점 ~ 끝 지점1 비용 + 중간 지점 ~ 끝 지점 2 비용을 더하는 방식으로 문제를 풀었습니다. 두번째 접근법 대부분의 케이스가 통과했지만 두 케이스에서 시간초과가 나서 시작 ~ 중간 ~ 끝.. 2022. 9. 20.