반응형

전체 글 106

PCCP 모의고사 2회 - 카페 확장

1. 문제 정의 2. 문제 접근 시간대 별로 사람이 몇명이 들어오는지를 계산해주면 될 것 같다. 시간 범위는 마지막 사람이 들어올 때를 마지막으로 더 이상 계산해 주지 않아도 된다. 그때가 들어오는 사람이 최대가 되는 시점이기 때문이다. 3. 문제 풀이 1. 마지막 사람이 들어오는 시점에 시간을 최대 시간으로 정의한다. 2. 최대 시간 만큼 사람수를 계산하는 배열을 정의한다. 3. 소요되는 시간을 정의한다. 4. for 문을 돌면서 order가 들어올 때 마다 people 배열을 갱신한다. 4. 정답을 return 해 준다. 4. 코드 // 누적합 원리 이용 import java.util.*; class Solution { public int solution(int[] menu, int[] order, ..

PCCP 모의고사 2회 - 신입사원 교육

1. 문제 정의 2. 문제 접근 PriorityQueue 를 이용하여 문제를 해결하면 될 것 같다. 3. 문제 풀이 1. PriorityQueue 에 사원들 능력치를 다 넣어준다. 2. for 문을 돌면서 2개를 빼내어 sum을 구한다. 3. 빼낸 만큼 다시 que에 넣어준다. 4. queue 를 하나씩 빼면서 정답에 더해준다. 5. 정답을 return 한다. 4. 코드 import java.util.*; class Solution { public int solution(int[] ability, int number) { int answer = 0; PriorityQueue pq = new PriorityQueue(); for(int x: ability){ pq.add(x); } for(int i = 0..

PCCP 모의고사 2회 - 실습형 로봇

1. 문제 정의 2. 문제 접근 명령어에 따라 움직여주는 함수만 잘 짜주면 될 것 같다. 3. 문제 풀이 1. x, y, dir 세가지 변수를 가지는 point class 를 정의한다. 2. for 문을 돌면서 명령어를 하나씩 실행한다. 3. 정답을 출력한다. 4. 코드 import java.util.*; class Solution { int[] dx = {0, 1, 0, -1}; int[] dy = {1, 0, -1, 0}; Point point; public void move(char command) { switch (command) { case 'R': point.dir = (point.dir + 1) % 4; break; case 'L': point.dir = (point.dir + 3) % 4;..

PCCP 모의고사 1회 - 유전법칙

1. 문제 정의 2. 문제 접근 계속해서 세대 수를 줄여가는 재귀함수를 짜주면 될 것 같다. 3. 문제 풀이 1. rec_fun 을 정의한다. 2. 세대 수를 계속 줄여가는 로직을 구현한다. 3. 부모가 RR 이거나 rr 일 경우 그대로 리턴해 준다. 4. 코드 import java.util.*; class Solution { public String rec_fun(int generation, int idx) { if(generation == 1) return "Rr"; String parent = rec_fun(generation-1, (idx-1)/4+1); if(parent.equals("RR") || parent.equals("rr")) return parent; int group = (idx-1..

PCCP 모의고사 1회 - 체육대회

1. 문제 정의 2. 문제 접근 한명에 한 능력치씩 골라 능력치의 최대 합산을 구하는 완전탐색으로 풀면 될 것 같다. 3. 문제 풀이 dfs를 정의한다. 원하는 횟수만큼 반복할때 마다 정답을 갱신한다. dfs가 끝나고 정답을 출력한다. 4. 코드 import java.util.*; class Solution { static int answer = 0; static int number_student, number_evnet; static boolean[] check_student; public void dfs(int k,int sum, int[][] ability) { if(k == number_evnet){ answer = Math.max(answer, sum); } else { for(int i = 0..

PCCP 모의고사 1회 - 외톨이 알파벳

1. 문제 정의 2. 문제 접근 문자열을 하나씩 떼어서 문자로 만든 후, for문을 돌면서 연속해서 중복되는지를 판별해주면 될 것 같다. 체크를 위해 문자를 key로 하는 map과 set을 써서 비교를 위한 객체 하나와 정답을 담을 객체 하나를 정의해서 문제를 풀이할 것이다. Set 은 요소의 저장 순서를 유지하지 않고, 같은 요소의 중복 저장을 허용하지 않는 특징이 있다. HashSet, TreeSet 등이 있으며, TreeSet은 위의 기능 + 오름차순 정렬이라는 특징까지 가지고 있어서 TreeSet으로 정답 객체를 구현하였다. 3. 문제풀이 문자를 담아줄 객체 Map 과 정답을 담아줄 객체 Set 을 정의한다. 입력 받은 String 을 Char 배열로 Casting 해준다. for문을 돌면서 조건..

반응형