목록Algorithm (424)
Mini

https://school.programmers.co.kr/learn/courses/30/lessons/76502?gad_source=1&gad_campaignid=22199869887&gbraid=0AAAAAC_c4nDqT-kGu7HDiWreRKNyvkYUK&gclid=Cj0KCQjw1JjDBhDjARIsABlM2St3rddqiQ5vq_1tewqUOwj4SfVP6m4BAGqsMZ-_YLamLn7pOQO_k5QaAub0EALw_wcB 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 풀이1직접회전[이면 push 아니면 pop반례 -> }}} 만 오는 경우 true 가 되버림 -> leftCnt로 left의 갯수가..

https://school.programmers.co.kr/learn/courses/30/lessons/49994?gad_source=1&gad_campaignid=22199869887&gbraid=0AAAAAC_c4nB6yISFBx5mGvyOG08zAQ87t&gclid=CjwKCAjwsZPDBhBWEiwADuO6y9aUyXD7gRRtDHQNWI8nlF7PY_7YefwJekHo0m-V-AOfGdA5TBefwxoCEsgQAvD_BwE 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 풀이좌표를 (0,0)으로 변경set에 from, to를 정렬후 넣기 (좌->우, 위->아래 순서)set.size가 정답일것import..

https://school.programmers.co.kr/learn/courses/30/lessons/12949?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr * 풀이answer 배열의 1칸씩 계산한다.k가 핵심!ex) 15 = 1*3 + 4*3 =answer[0][0] = arr1[0][0] * arr2[0][0] + arr1[0][1] * arr2[1][0]answer[i][j] = for(k=0 to c1) arr[i][k] * arr2[k][j] class Solution { public int[][] solution(int[][] arr1, int[][] arr2) { ..

https://leetcode.com/problems/majority-element/description/ * 풀이1절반이상인 원소가 반드시 존재함을이용정렬 -> 중간지점의 원소가 다수원소임class Solution { public int majorityElement(int[] nums) { Arrays.sort(nums); return nums[nums.length/2]; }}O(nlgn) * 풀이2투표 알고리즘 이용 O(n)class Solution { public int majorityElement(int[] nums) { int king=nums[0]; int cnt=1; for(var num : nums){ ..

https://www.acmicpc.net/problem/10653* 시도1완탐) 500 C 250 -> 건너뛸 체크포인트 고르기 -> 불가 * 풀이dp(idx, cnt) : idx, 점프횟수 그때 최소비용이때, OX 퀴즈로 하면 안된다.nxt 후보들에대해 한번에 점프하는 식으로 완탐해야 구현이 쉬워진다.정답코드import java.util.*;class Pair { int y; int x; Pair(int y, int x) { this.y = y; this.x = x; }}public class Main { // 인덱스 i, j개 를 스킵 했을때, 그때 최소거리 static int dp[][] = new int[504][504]; stat..

https://leetcode.com/problems/linked-list-cycle/description/풀이1/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public boolean hasCycle(ListNode head) { HashMap m = new HashMap(); while(head!=null){ if(m.containsKey(hea..

https://school.programmers.co.kr/learn/courses/30/lessons/389479 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 풀이필요할때마다 증설하는게 최적인가? 그런듯.귀류법 증명) ... class Solution { static int[] need = new int[25]; static int[] server = new int[25]; public int solution(int[] players, int m, int k) { int answer = 0; int n = players.length; ..

https://school.programmers.co.kr/learn/courses/30/lessons/389480?language=java 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 내풀이A가훔치기, B가훔치기 OX퀴즈 -> 2^40 -> 시간초과 -> dp 필요int dfs로 변경 && 메모참고로 dp 초기화부분을 상수시간 최적화해야 통과함..? 맞게푼건지? (재귀dp 억까?)import java.util.*;class Solution { static int n,m,ret=Integer.MAX_VALUE; // static int dp[][][] = new int[44][124][1..