[PCCP 기출 3번] 아날로그 시계
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/250135 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 유형시뮬레이션 문제 난이도Lev2 문제 분석아이디어를 생각하면 코드 자체는 어렵지 않았지만, 아이디어는 도출해냈지만, 정확하게 어떻게 풀어야겠다고 생각하지 못해, 다른 분의 아이디어를 참고하였다.특정 시점부터 종료 시점까지 초침과 시침 / 분침이 만나는 횟수를 구하는 문제이다.만약 같은 시점에 동일하게 시침과 분침이 모두 만나는 경우는 한 번만 카운팅하도록 한다.우선 1초마다 시각이 변화할 때의 각도를 먼저 구해준다.1. 시각이 변화하는 각도 :..
[PCCP 기출 2번] 석유 시추
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 유형BFS누적합문제 난이도 Lev2문제 분석주어진 조건시추관을 수직으로 뚫어서 시추관과 인접한 석유 덩어리들의 크기들을 모두 합한 결과가 가장 큰 경우의 석유량을 구하는 문제이다.단순하게 완전 탐색을 생각한다면 방문하지 않은 좌표들 가운데, 석유가 있는 공간을 찾고, 그 공간과 인접한 석유 덩어리들의 합을 해당 열에 더해서 Max 값을 구하는 방법을 처음 생각했다.당연하게 시간 초과다. 최악의 경우: 좌표 탐색: O(500*500) * BFS 순..
[PCCP 기출 1번] 붕대 감기
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/250137 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 유형구현 문제 난이도Lev1 문제 분석시전 시간(t) 동안 1초에 x만큼 회복, t초 연속으로 회복 성공할 시, y만큼 추가 회복조건1. 최대 체력을 넘어서 체력을 회복하지 못한다. 2. 몬스터에게 공격 당할 시, 체력 회복 하지 못하고 연속 시간은 0으로 초기화3. 체력이 0 이하가 되면 캐릭터가 사망하며, -1을 return 한다.문제는 주어진 조건에 맞춰서 그대로 작성하면 된다. 전체 코드import java.util.*;import jav..
[2024 KAKAO INTERN] 주사위 고르기
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/258709 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 유형DP + 누적합DFS + 이분 탐색 문제 난이도Lev3 문제 분석A와 B가 주사위를 N / 2 개씩 나눠갖고, 각 주사위를 모두 돌려, 나온 숫자의 합을 서로 비교해서 A가 승리할 수 있도록 가장 승률이 좋은 주사위 번호들을 출력하는 문제이다.문제를 이해하는덴 어렵지 않았지만, 시간 초과를 해결하기 위해 고민하다 다른 사람들의 풀이를 참고한 문제이다.우선 문제에서 핵심은1. (N / 2)개의 주사위 고르기2. 고른 주사위와 고르지 않은 주사위..
[PCCP 기출 10번] 공원
·
알고리즘
https://school.programmers.co.kr/learn/courses/30/lessons/340198 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 유형구현 문제 난이도Lev1 문제 분석해당 문제는 2차원 배열로 이루어진 공원에서 빈 공간에 정사각형 모양의 돗자리를 깐다고 했을 때 깔 수 있는 최대의 한 변의 길이를 구하는 문제이다.문제에서 park의 길이 만약 해당 문제를 조금 더 복잡하게 풀고 싶다면, 슬라이딩 윈도우를 사용하면 시간 복잡도와 메모리 효율을 높일 수 있을 것이다.그러나, 굳이 쉬운 문제를 어렵게 풀 이유는 없을 것 같다.전체 코드에 주석으로 설명을 추가하였다. 전체 코드i..