목록Algorithm (427)
Mini
https://school.programmers.co.kr/learn/courses/30/lessons/72411?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr * c++ 풀이freq[길이] 별 map이 키포인트과거에 머리가 더 잘돌아갔네..#include using namespace std;map freq[11];vector solution(vector orders, vector course) { vector answer; map m; //코스이름, 등장횟수 for(auto order : orders){ //ABCFG sort(order.begin(..

https://school.programmers.co.kr/learn/courses/30/lessons/42579?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr* 풀이m1 >m2 맵 2개를 만든다.m2를 정렬하고 그 키값에 대해 정렬된순서로 순회하면서m1을 꺼낸다.m1을 정렬한다. (재생횟수기준 내림차순)2개를 뽑고 정답에 추가한다. * 전체코드import java.util.*;class pair{ int idx, cnt; pair(int idx, int cnt){ this.idx=idx; this.cnt=cnt; } public S..

https://school.programmers.co.kr/learn/courses/30/lessons/64061?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr*풀이1배열을 탐색하면서 0이 아닌원소를 찾고stk에 pop하는 방식import java.util.*;class Solution { static int[][] board; static ArrayDeque stk = new ArrayDeque(); static int answer; void findAndRemove(int move){ int i=0; while(i0 && stk...

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..