자바/프로그래머스(36)
-
[Programmers/JAVA] 피로도
내 코드 import java.util.*; class Solution { static List list=new ArrayList(); public int solution(int k, int[][] dungeons) { int answer = -1; dfs(dungeons, k, 0, ""); Collections.sort(list, Collections.reverseOrder()); //값이 높은 순서대로 answer=list.get(0); return answer; } public static void dfs(int[][] dungeons, int k, int count, String visit) { for(int i=0; i=dungeons[i][0]) { dfs(dungeons, k-dungeon..
2023.03.23 -
[Programmers/JAVA] 타겟 넘버
내 코드 class Solution { public int solution(int[] numbers, int target) { int answer = 0; answer=dfs(numbers, target, 0, 0); return answer; } //깊이 우선 탐색(dfs) 방식 메소드. 계속해서 아래로 내려감! public static int dfs(int[] numbers, int target, int line, int sum) { if(line== numbers.length) { if(sum==target) { return 1; } return 0; } return dfs(numbers, target, line+1, sum+numbers[line])+ dfs(numbers, target, line..
2023.03.22 -
[Programmers/JAVA] 약수의 합
내 코드 class Solution { public int solution(int n) { int answer = 0; for(int i=1; i
2023.03.21 -
[Programmers/JAVA] 다리를 지나는 트럭
내 코드 import java.util.*; class Solution { public int solution(int bridge_length, int weight, int[] truck_weights) { int answer = 0; //queue 선언 Queue q=new LinkedList(); int sum=0; int index=0; while(index!=truck_weights.length) { if(q.size()==bridge_length) { // 다리길이만큼 트럭이 차면 sum-=q.remove(); //맨 앞에 있던 트럭 도착지로 빼주기 + sum에서도 제거 } if(sum+truck_weights[index]>weight) { q.offer(0); // 다리의 빈 공간에 0을 추가..
2023.03.04 -
[Programmers/JAVA] 주식가격
내 코드 import java.util.*; class Solution { public int[] solution(int[] prices) { int[] answer= new int[prices.length]; //queue 선언 Queue queue=new LinkedList(); //queue에 prices 전체리스트 값 추가 for(int i=0; i
2023.02.28 -
[Programmers/JAVA] k진수에서 소수 개수 구하기
내 코드 import java.util.*; class Solution { public int solution(int n, int k) { int answer=0; //k진법으로 만들고 0을 기준으로 나누기 String[] n_change=Long.toString(n,k).split("0"); for(String num:n_change) { if(num.length()==0 || num.equals("1")) { continue; }else if(num.equals("2") || num.equals("3")){//2와 3은 소수니까 answer++; }else { long one=Long.parseLong(num); boolean result=true; //소수확인 for(int i=2; i
2023.02.24