본문 바로가기

반응형

프로그래머스/Greedy

(6)
[그리디] 프로그래머스 '단속카메라' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42884?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 function solution(routes) { let answer = 0; routes.sort((a,b) => a[1] - b[1]); // 1번 인덱스 기준 오름차순 정렬 let bb = routes[0][1]; // 블랙박스 설치 기준. 최대한 적게 설치하기 위해 1번 인덱스를 기준. for(let i=0;i
[그리디] 프로그래머스 '섬 연결하기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42861 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 우선 최소 비용이 되어야하므로 비용 순 오름차순 정렬한다 => 그리디에서 매우 중요! 처음엔 이 부분을 간과했다. 그래서 막혔나보다. 그 다음, 가장 적은 비용의 간선 부터 연결해 나가면서 불필요하게 중복 연결되어 사이클을 형성시키는 간선을 연결하지 않는다(순환방지). 중요한 것은 이전에 연결한 섬들과 연결 가능한 섬들부터 쭉 연결해나간다는 것이다. ex) 5, [[0, 1,..
[그리디 & 스택] 프로그래머스 '큰 수 만들기' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42883#qna 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 처음 푼 코드) 10번 테케 런타임에러와 12번 테케 실패가 나왔다. function solution(number, k) { let removed = 0; number = number.split(""); let temp = number.slice(); temp = temp.slice(0,k); let max = Math.max(...temp); let i = 0; wh..
[그리디] 프로그래머스 '조이스틱' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42860?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 이 문제는 연속되는 A의 처리(A 뭉텅이)가 가장 중요한 문제다. 이것 때문에 고민을 많이 했었고, 결국 답이 떠오르지 않아 구글링을 하였으며 로직 이해에도 꽤 오랜 시간이 걸렸다 ㅠㅠ 그리고 또 하나 중요한 것은 알파벳의 아스키코드다. A는 65이며 알파벳은 총 26개이므로 Z는 91이 된다. 이동 횟수의 총 합 = 좌/우 이동 횟수 + ..
[그리디] 프로그래머스 '체육복' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 코드 이 문제의 핵심은 정렬이다. lost = lost.sort((a,b) => a-b); 테케 13,14번이 계속 통과가 안돼서 레벨 1인데도 왜 이렇게 못풀지 싶어 자괴감이 들었는데, 알고보니 lost 배열이 [1,2,3] 이렇게 주어질 수도 있지만 [3,1,2] 이렇게 주어질 수도 있어 정렬을 해줘야 모두 정답처리가 되는 것이였다. 이걸 알고 나니 너무 허무했다는거~! 시간을..
[그리디] 프로그래머스 '구명보트' - js 1. 문제 https://school.programmers.co.kr/learn/courses/30/lessons/42885?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 설명 이 문제는 그리디 알고리즘을 사용하여 푸는 문제이다! 그리디는 정렬이 핵심이라고 한다. 어떻게 정렬해야 최적의 해가 나올지 항상 고민하자. + 계단을 한 칸 내지 두 칸만 움직일 수 있다~ 토끼는 번식을 한 달 내지 두 달 뒤에 할 수 있다~와같이 1과 2에 밀접한 관계가 있으면 피보나치를 사용하여 문제를 푼다! (스터디원분이 주신 꿀팁^^..

반응형