반응형
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) % 4;
switch(group) {
case 0 : return "RR";
case 1, 2 : return "Rr";
default : return "rr";
}
}
public String[] solution(int[][] queries) {
String[] answer = new String[queries.length];
for(int i = 0; i < queries.length; i++) {
String ans = rec_fun(queries[i][0], queries[i][1]);
answer[i] = ans;
}
return answer;
}
}
5. 회고
머리로는 알겠는데 코드를 짜려니 쉽지 않았다. 아직 구현 능력에 있어서 많은 연습이 필요해 보인다.
반응형
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
PCCP 모의고사 2회 - 카페 확장 (1) | 2023.02.18 |
---|---|
PCCP 모의고사 2회 - 신입사원 교육 (0) | 2023.02.18 |
PCCP 모의고사 2회 - 실습형 로봇 (0) | 2023.02.18 |
PCCP 모의고사 1회 - 체육대회 (0) | 2023.02.18 |
PCCP 모의고사 1회 - 외톨이 알파벳 (0) | 2023.02.16 |