본문 바로가기

programming/알고리즘32

[백준, 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.
[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.
[PG, 자바] 등산코스정하기 0. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/118669 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 출발지부터 목적지까지 등산할 때 지나갈 수 있는 루트 중 가장 긴 시간의 노드가 가장 짧을 때의 목적지 번호와 가장 짧은 값을 출력하는 문제입니다. 2. 문제 접근 1. 루트는 중복해서 방문 가능합니다. 따라서 되돌아가는 루트는 고려 X 2. 이미 이전 출발점을 통해 목적지까지 도착한 루트가 있더라도 다른 출발점에서는 더 짧은 Intensity가 검출될 수 있기 .. 2022. 9. 20.
[PG, 자바] 피로도 전형적인 DFS 문제 더보기 import java.io.*; import java.util.*; //DFS 전체 탐색 class Solution { static boolean[] isV; static int[][] staticD; static int Max = 0, dCnt = 0; static public void runD(int crntPiro, int cntV){ for(int i = 0; i = staticD[i][0]){ //방문 처리 isV[i] = true; Max = Math.max(Max, cntV+1); runD(crntPiro - staticD[i][1], cntV+1); //방.. 2022. 9. 6.
[PG, 자바]추석 트래픽 0. 문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/17676 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 1초란 범위 내에 처리할 수 있는 최대 요청 처리 개수를 구하는 문제입니다. 1초 == 1000ms라고는 했지만 시작시간과 끝시간을 포함하기 때문에 실제론 999ms라고도 할 수 있습니다. 기준 시간은 종료 시간으로 정렬이 되어있습니다. 2. 문제 접근 일반적 접근법 : 그림 1 1. 부터 N-1까지를 기준 2. 부터 N까지 기준값과 비교 3. 비교 데이터의 끝 값.. 2022. 9. 6.
[프로그래머스, 자바] PG_전력망을둘로나누기 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/86971?language=java 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 핵심 N개 송전탑은 트리 형태로 모두 연결되어 있음. 2. 문제 접근 1. 모든 송전탑은 이어져있고 이 트리를 2개로 나누는 것이기 때문에 하나만 잇지 않아도 두 개로 쉽게 나눌 수 있음. 2. 가장 간단한 접근법은 모든 전선을 처음부터 하나씩 마지막까지 한 개씩만 연결하지 않고 송전탑은 이은 뒤, 두 트리로 나뉘어진 송전탑의 개수 차이를 구하는 것. .. 2022. 8. 25.
[백준, 1917, 자바] 정육면체 전개도 링크 : https://www.acmicpc.net/problem/1917 1917번: 정육면체 전개도 세 개의 입력 데이터가 주어지며, 각각의 입력 데이터는 여섯 개의 줄로 이루어져 있다. 각 데이터는 여섯 개의 줄에 걸쳐 여섯 개의 숫자가 빈 칸을 사이에 두고 주어진다. 숫자는 0 또는 1로 이 www.acmicpc.net 1. 문제 핵심 6 * 6 안에 이어져있는 6개의 1이 존재. 해당 1들로 정육면제를 만들 수 있는지 확인하는 문제 2. 문제 접근 그림 0. 정육면체를 평면으로 만들었을 때 주사위를 펼치면 이러한 모양이 된다. 그림 1. 정육면체의 각 숫자 기준 상, 하, 좌, 우 각 자리를 기준으로 상, 하, 좌, 우는 위 이미지와 같이 이루어져 있다. 그림 2. 정육면체 가능 케이스 주사위가.. 2022. 8. 24.