본문 바로가기

PS/카카오 기출3

[카카오 기출] Swift - 셔틀 버스 셔틀버스 구현 시간 계산 🍎 지문 해석 게으른 콘은 항상 마지막으로 버스를 타고 싶다. 이런 콘을 위해서 언제 버스를 타야 회사는 가면서 가장 마지막으로 탈 수 있는지 알려주는 프로그램을 구현하면 된다. 셔틀은 9시 정각에 한번오고 총 n회 t분 간격으로 온다. 예를 들면 총 2대가 오고 10분간격으로 온다면... 9시에 한대가 오고 9시 10분에 온다는 뜻이다. 그럼 그날 올 수 있는 버스는 모두 온것이다. 또, 만약 버스가 10시 10분에 도착한다면 크루가 10시 10분에 도착해도 버스를 탈 수 있다. n의 max = 10 t의 max = 60 m의 max = 45 🍎 문제 접근 시간 계산 문제는 항상 최소단위로 통일하고 계산해야 한다. 버스가 오는 시간을 busTime이라는 변수로 두고 이것(버스의.. 2023. 8. 27.
[카카오 기출] Swift - 코딩테스트 공부 코딩테스트 공부 2차원 DP 정확성 + 효율성 🍎 지문 해석 알고력과 코딩력을 모든 문제를 풀 수 있도록 키우자! 아래 두가지 방법으로 알고력과 코딩력을 키울 수 있다. 트레이닝 -> 1시간을 소비해 알고력 또는 코딩력 중 하나를 1 높일 수 있다. 문제 풀기 -> 알고력, 코딩력이 문제를 풀 수 있는 레벨이 된다면, 문제를 풀어 알고력과 코딩력을 늘릴수 있다. alp는 현재 알고력 cop는 현재 코딩력 problems는 (문제의 풀기위한 알고력, 문제의 풀기위한 코딩력, 문제를 풀었을때 보상 알고력, 문제를 풀었을때 보상 코딩력, 문제를 푸는데 걸리는 시간) 순으로 주어진다. 🍎 문제 접근 문제를 다 푸는데까지 걸리는 최단 시간을 구하는것이 이 문제의 답이다. 매개변수에 주어지는 초기 알고력 or 코딩.. 2023. 8. 26.
[카카오 기출] Swift - 합승 택시 요금 합승 택시 요금 다익스트라 🍎 지문 해석 무지는 택시비를 아끼고 싶다. 어피치와 택시를 같이 타고 일정 지점까지 같이 가고 거기서 따로 택시를 타고 집에 갔을 때와 처음부터 각자 따로 갔을 때를 비교해서 더 적은 금액이 무엇인지 구하면 된다. V = 200 E = (200 * 199) / 2 시간복잡도 Elog(V) -> 200log200 하나의 정점에서 다른 모든 정점까지 최소 요금을 구하는 경우 -> 200log200 🍎 문제 접근 음의 가중치가 없는 간선에서 최단거리 -> 최소힙 기반의 우선순위 큐를 통한 다익스트라 알고리즘 두가지를 구해야 한다. 시작 지점 S에서 A와 B까지 각자 택시를 타고 갔을때, S -> A, S -> B 이 부분은 S에서 모든 정점까지의 최소 요금을 구한 후 이미 구해진 .. 2023. 8. 25.