알고리즘 (305) 썸네일형 리스트형 [프로그래머스] 폰켓몬 https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr🤔 문제분석포켓몬을 n / 2 개 뽑았을때 갖을 수 있는 각 다른 포켓몬의 최대 조합의 수를 리턴하면 된다.set을 사용하여 중복을 제거하고, 길이를 비교하여 최소값을 리턴하도록 한다.💻 코드solution = lambda nums: min(len(nums) // 2, len(set(nums))) [프로그래머스] 다리를 지나는 트럭 https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 덱큐를 이용하여 문제를 해결 하였습니다. 덱큐를 트럭을 담고있는 큐로 생각하고 0을 담고있다면 트럭은 없고 1 이상일경우 트럭이 있다고 가정합니다. 처음에 모든 큐를 다리 길이만큼 0으로 채워 줍니다. 트럭을 순회하면서 넣어봅니다. 덱의 마지막에 트럭이 존재한다면 현재무게와 현재 카운트를 뺍니다. 현재무게와 현재카운트를 만족시키는 트럭을 넣을 수 있다면 넣습니다. 넣지 못한다면 0을 .. [프로그래머스] H-Index https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 이분탐색으로 문제를 해결하였습니다. H의 개수가 많다 → H값을 늘린다. ( H값을 늘릴경우 카운팅되는 수가 적어 진다 ) H의 개수가 적다 → H값을 감소시킨다. ( H값을 줄일경우 카운팅되는 수가 많아진다) 💻 코드 class Solution { // 정렬된 데이터에서 H를 기준으로 이분탐색한다. // 카운팅 한 개수가 h번 이상인 개수가 h이상이고, h번 이하 인용되었다면 증가시.. [프로그래머스] 도둑질 https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 첫번째 집을 방문하거나, 첫번째 집을 방문하지 않는경우를 분기시켜 최대값을 구하면 된다. 첫번째 집을 방문한경우는 마지막 집을 방문할 수 없다. 첫번째 집을 방문하지않는 경우는 마지막 집을 방문할 수 있다. i번째의 최대값을 구할때 2가지의 값중 최대값을 갱신시켜준다. i-2 번째에서 온경우 자기자신이 방문 가능함 dp[i-2] + money[i] i-1 번째에서 온경우 자기자신이 방.. [프로그래머스] 이중우선순위큐 https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 최대 힙큐와 최소힙큐를 두어서 최대값과 최소값을 POP 할때마다 자료를 옮긴뒤 POP 해주면 된다. 배열에 집어 넣을때에는 최소 힙큐에 집어넣는다. 최대값을 꺼낼때에는 최소 힙큐에 모든 값을 최대 힙큐에 넣어준다. 그리고 최대 힙큐를 POP 한다. 최소값을 꺼낼때에는 최대 힙큐에서 모든 값을 최소 힙큐에 넣어준다. 그리고 최소 힙큐를 POP 한다. 💻 코드 import java.uti.. [프로그래머스] 전력망을 둘로 나누기 https://school.programmers.co.kr/learn/courses/30/lessons/86971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 모든 간선을 기록해두고, 하나의 간선을 제외한뒤 각각의 그룹의 개수를 카운팅하여 가장 작은 값을 갱신하여 정답을 출력하면 된다. 💻 코드 import java.util.*; class Solution { static int nodeSize; public int solution(int n, int[][] wires) { nodeSize = n+1; List edges = new Arra.. [프로그래머스] 베스트 앨범 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 장르별로 음악을 묶는다. 장르별로 묶을때 우선순위 큐를 활용하여 묶는다. 장르별로 묶은다음 큐에서 2개씩 꺼내어 결과에 집어넣으면 된다. 💻 코드 import java.util.*; // // 가장 많이 재생된 노래를 두개씩 모아 베스트 앨범을 출시 // 각 장르별로 우선순위 큐를 활용하여 최대 2개씩 뽑아야한다. // (장르, 재생횟수), Map(장르,노래들) class Soluti.. [프로그래머스] 완주하지 못한선수 https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 🤔 문제분석 해시맵 2개를 이용하여 문제를 해결하면된다. 이름은 Key로 Value는 중복될 수 있기때문에 Integer 값을 두어 사람의 이름별로 카운팅한다. 참가자와 도착한 사람을 비교해서 만약 사람의 사람의 수가 1 이상이라면 그 사람의 값을 출력하면된다. 💻 코드 import java.util.HashMap; import java.util.Map; public class Solution {.. 이전 1 2 3 4 5 6 7 ··· 39 다음