본문 바로가기

Java/Programmers59

[Lv.2]K진수에서 소수 개수 구하기 package PG.Lv_2; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class k진수에서소수개수구하기 { public static int isPrime(Long num) { if (num == 1) { return 0; } if (num == 2) { return 1; } for (int i = 2; i 2023. 2. 26.
[Lv.2]타겟 넘버 그래프를 이용한 탐색(DFS, BFS)를 활용하여 푸는 문제이다. 이 문제는 dfs를 활용하여 풀면 되는 문제이다. 가장 간단한 문제이므로 탐색에 대한 개념이 있다면, 어렵지 않게 풀 수 있다. 그러나 그것이 나에게는 해당하지 않았지... 아래의 링크는 그래프를 이용한 탐색(DFS, BFS)를 공부한 내용이다. package Lv_2; public class 타겟넘버 { static int answer = 0; public static int solution(int[] numbers, int target) { dfs(numbers, 0, target, 0); return answer; } public static void dfs(int[] numbers, int depth, int target, int .. 2023. 2. 23.
[Lv.2]연속 부분 수열 합의 개수 각각의 elements 원소를 한자리, 두자리, 세자리....elements.length까지 중복없이 더한 결과값의 갯수를 구하여야 한다. 처음에 원형수열을 이용하여풀고자, elements * 2한 배열을 하나 더 만드려고 했었다. 그러나 좀 생각해보니 elements를 있는 그대로 활용할 수 있었다. 각각의 elements원소에 자신의 다음에 올 수를 반복문을 통해 더해주면, 한자리, 두자리, 세자리 ... length까지 값을 모두 더할 수 있었다. 처음 설계한 방법은 List를 만들어 따로 결과값들을 저장해주었다. if 문을 사용하여, 이미 숫자가 있으면 add하지 않게끔 하였다. 이 방법을 사용하였더니, 시간초과가 뜨게되었다. 그래서 중복을 허용하지 않는 set 자료구조를 사용하여 풀이하였고, 시.. 2023. 2. 22.
[Lv.2]뉴스 클러스터링 설계 후, 구현하니 테스트케이스 5번과 13번이 계속 틀렸었다. 5번과 13번이 틀린 이유를 찾기 위해, 다른분들이 작성한 코드를 분석하여 다시 풀었다. intersection.size() == 0으로 해놓은 부분때문에 틀렸었다. 교집합은 없을 수 있다는걸 실수했다. 아래의 코드는 무사히 통과한 코드이고, 그 아래의 코드는 테스트케이스 5번과 13번이 틀린 코드이다. 직접 생각한것이 바로 맞았으면 좋았을텐데, 수학적지식이 머릿속에서 날라갔나보다. package Lv_2; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.List; public class 뉴스클러스터링 { pu.. 2023. 2. 21.