본문 바로가기

전체 글

(81)
[프로그래머스] 코테연습 - 신고 결과 받기 - 내 방법 풀이 처음 시간 초과가 난 코드이다. 신고 당한 횟수가 k번 이상인 유저의 신고자들의 메일을 보내는 것이, 정말 헷갈렸다. 어떻게 구현해야 할 지 모르겠어서 생각나는데로 hashSet을 순회하며 answer[idx]를 증가시켰지만 3 9 10 11 14 20 21번 총 6개의 케이스에서 시간 초과가 되었다. import java.util.*; class Solution { public int[] solution(String[] id_list, String[] report, int k) { int[] answer = new int[id_list.length]; Set hashSet = new HashSet(); for (String S : report) { hashSet.add(S); } Ha..
[프로그래머스] 코테연습 - 스킬트리 - 내 방법 풀이 처음에 인덱스를 비교하여 풀 생각을 하였다. 필수 스킬트리를 따라 인덱스가 주어지므로, skill_trees를 순회하며 각 스킬의 인덱스와 skill의 인덱스를 비교하려고 했지만 앞선 스킬중에 무관한 스킬이 포함되어 있을 때 답을 낼 수가 없기 때문에 다른 적용을 찾아야 했다. 따라서 replaceAll과 정규식을 활용하여 필수 스킬 외에 상관없는 스킬을 제거하고, 남은 skill_tree와 skill의 인덱스를 비교하며, 해당 스킬이 skill의 인덱스와 같지 않다면, 제대로 스킬트리를 배우지 못한 것이므로 answer를 증가시키지 않았다. class Solution { public int solution(String skill, String[] skill_trees) { int an..
[프로그래머스] 코테연습 - PCCE 기출문제 10번 / 데이터 분석 - 내 방법 풀이 스위치문을 최근에 많이 사용한다. 정렬기준은 총 2가지(String ext, String sort_by)가 나오므로, 정렬기준의 인덱스를 주어진 자료의 인덱스로 반환하는 메서드를 만들었고, 그것에 따라 먼저 ext가 val_ext보다 작은 것을 dataList에 추가한다. 이후 다시 sB메서드를 사용해서 정렬기준 index를 구한 뒤 Comparator.sort를 통해 오름차순으로 정리해주었다. import java.util.*; class Solution { public int[][] solution(int[][] data, String ext, int val_ext, String sort_by) { List dataList = new ArrayList(); for (int [] dt..