알고리즘/프로그래머스 (34) 썸네일형 리스트형 [프로그래머스] 이중우선순위큐 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 {.. [프로그래머스] 퍼즐조각 채우기 🤔 문제분석 게임테이블에서의 빈칸의 퍼즐과 맞춰야할 테이블에서의 퍼즐을 구한뒤에 퍼즐을 돌려가면서 빈칸에 맞추어본다. 맞추는 로직은 equals를 활용하였는데 퍼즐의 높이와, 너비, 그리고 값 까지 모두 같을경우에만 퍼즐을 조립해준다. BFS로 방문한 그룹을 배열로 퍼즐로 변환하는 구현과 배열을 돌리는 구현이 이 문제의 핵심이라고 생각한다. 💻 코드 import java.util.*; class Solution { boolean[][] visited; boolean[][] visited2; int[][] game_board; int[][] table; int h, w; int answer = 0; public int solution(int[][] game_board, int[][] table) { thi.. [프로그래머스] 2023 Kakao Blind Recruitment : 표병합 https://school.programmers.co.kr/learn/courses/30/lessons/150366# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제개요 해당 문제는 주어진 조건에따라서 명령을 수행하는 구현 문제이다. 주어진 문제의 요구사항에는 서로소 집합 자료구조를 사용하여 해결 해야한다. 표가 주어졌을때, 병합하고, 값을 변경하고, 병합을 해제하고 원하는 값을 출력한다. 🤔 문제분석 표는 최대 50, 50 임으로, (50,50) 테이블을 만든다. 특정위치의 첫번째 인덱스는 표의 값을 표현하고, 두번째 인덱스는 그룹상태를 알려주는.. [프로그래머스] 2023 Kakao Blind Recruitment : 이모티콘 할인행사 https://school.programmers.co.kr/learn/courses/30/lessons/150368 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제개요 해당문제는 유저와 이모니콘이 주어졌을때 조건에따라서 가입한 유저와 이모티콘을 산 가격을 나누어서 우선순위를 매겨, 가장 좋은 우선순위의 값을 출력하는 문제이다. 이모티콘은 10%, 20%, 30% 40% 할인 할 수 있다. 유저는 유저가 설정한 할인율 이상만큼 할인 하면 이모티콘을 산다. 모든 이모티콘을 산가격과 유저가 설정한 이모티콘 가격의 합보다 클경우 유저는 이모티콘 플러스 서.. [프로그래머스] 2023 Kakao Blind Recuiment : 표현 가능한 이진트리 https://school.programmers.co.kr/learn/courses/30/lessons/150367 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📄 문제개요 특정 숫자가 주어질때 해당숫자를 이진수로 만들고, 이진수를 만든뒤, 포화 이진트리를 만든다. 예를들어 포화 이진트리는 아래와 같다. 루트노드가 1이면 자식노드는 0또는 1을 갖는다. 루트노드가 0이면 자식노드들도 0이 되어야한다. 🤔 문제분석 특정숫자를 이진수로 만든뒤 포화 이진트리로 만들어야한다. 높이가 n일때, 포화 이진트리는 노드의 개수가 2^n -1 를 갖는다. 숫자에 왼쪽에.. 이전 1 2 3 4 5 다음