코딩 테스트17 [투 포인터] 보석 쇼핑 (파이썬) 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/67258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 투 포인터를 이용해서 모든 보석 종류를 수집하지 못했다면 end +1 모든 보석 종류를 수집해서 end까지의 최소 길이 구하기 위해 start+1 특정 보석의 갯수는 딕셔너리를 이용해서 체크 모든 보석 종류를 수집했는지는 r이라는 변수를 두고 수집 할 보석 갯수 nn 가 비교해서 알아냄 r==nn 이면 모든 보석을 수집한 것이므로 최소 길이를 구하기 위해 start를 +1 씩.. 2023. 4. 20. [그래프] 가장 먼 노드 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1번 노드에서 출발 해서 각 노드들에 최단 경로로 도착하는데 그 중에 가장 멀리 떨어진 노드들의 갯수를 출력하는 문제 다익스트라로 풀었는데 노드 갯수만 적었다면 bfs dfs도 가능할듯? 소스 코드 import heapq INF = int(1e9) def solution(n, edge): answer = 0 gr = [[]for i in range(n+1)] dit = [IN.. 2023. 4. 10. [2020 카카오 인턴십] 스티커 모으기(2) 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 1칸 띄워서 계산하는 문제이므로 개수가 3개 이하라면 그 수들 중 가장 큰 수가 정답이 됨. a, b, c 일 땐 a와 c도 합체가 안되므로 dp [n]=max(s [n]+dp [n-2], dp [n], s [n]+dp [n-3] ) 경우의 수 첫 번째 수부터 계산(이 경우 마지막 숫자는 빼줘야 함) 두 번째 수부터 계산(이 경우 마지막 숫자도 더하기 가능) 세 번째 수부터 .. 2023. 4. 7. [해시] 베스트 앨범 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 구해야 할 값은 각 장르의 총 합, 해당 장르에서의 최대 재생횟수 2개 추출 어떤 장르들이 있는지 알기 위해 장르 리스트를 집합화 시켜서 중복을 없애고 다시 리스트화 시켜줌(index 처리를 위해) 어떤 값이 최솟값이 될지 모르므로 "a"라는 장르는 -1 번 이라는 고정값을 넘겨주기 위해 gens와plays에 "a",-1 추가 g라는 리스트는 각 행에 [해당 장르 총 재생수,.. 2023. 4. 6. [연습 문제] 숫자 게임 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/12987 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 b가 최대 승점을 얻었을 때의 경기를 출력하는게 아닌 승점만 출력하는 문제 a의 순서를 바꿔도 상관 x (b가 그것에 맞춰 경기하는 방식이 되기 때문) a와 b를 내림차순으로 정렬 idx 를 0 으로 잡은 후, a[idx]와 b[0]의 최대 값을 계속 비교 b[0]가 a[idx]보다 크다면 a[idx]보다 작은 값들은 모두 b[0]보다 큰 값이므로 이후 비교 의미x b[0]>.. 2023. 4. 5. [DFS/BFS] 단어 변환 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/43163 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 begin 에 담긴 단어를 알파벳 하나씩 바꿔가며 target에 담긴 단어로 변환하는 과정 규칙은 words 리스트에 담긴 단어들로만 변환 할 수 있음. 딕셔너리를 이용해서 풀 수도 있겠지만 그냥 인덱스로 계산해서 코드를 짬 begin이 변할 수 있는 것들도 찾기 위해 일단 words에 담음 words에 담긴 각각의 단어들에 대해 자신이 변할 수 있는 모든 경로를 찾아서 그래.. 2023. 3. 30. [DFS/BFS] 네트워크 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/43162 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 연결된 노드들을 확인한 후 0번 노드부터 BFS 방식으로 탐색하면서 한번에 연결지을 수 있는 것들 모두 연결 0번 노드로부터의 탐색이 끝나면 1,2,3,4,5,...n-1번 노드 순서대로 탐색하는데 이미 탐색했던 거라면 continue 탐색하지 않았더라면 새로운 네트워크의 발견이므로 answer+1 소스 코드 from collections import deque def sol.. 2023. 3. 30. [힙] 이중 우선순위 큐 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 operation에 따라 삽입/ 최댓값 pop/ 최솟값 pop을 하는 문제 각 op에 따라 split로 나눠 준 뒤 각 연산을 수행 우선순위 큐로 짬 heapq 는 push와 동시에 정렬을 수행함 (기본적으로 최대 정렬-최솟값이 맨 앞으로) 파이썬에서 제공하는 heapq의 기본은 최소 힙을 기반으로 하고 있어서 pop을 할 시 최솟값이 나옴 최댓값은 큐의 맨 뒤에 있으므로 D.. 2023. 3. 29. 이전 1 2 다음