본문 바로가기

코테65

[프로그래머스] PCCP 모의고사 1회 4번 운영체제 사용 언어 - Python3 문제 - 운영체제 https://school.programmers.co.kr/learn/courses/15008/lessons/121686 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 heapq 우선순위 큐 모든 부모들로 거슬러 올라가서 그 부모가 몇 번째 자식이었는지 확인 import heapq heap = [] 우선순위 큐를 통해 프로그램 대기 list를 만들어준다. 0. time = 0 에서 시작 1. 호출시간과 우선순위를 기준으로 정렬한다. 빨리 호출된 순서대로, 호출시간이 같다면 우선순위가 높은 순으로 1차 정.. 2023. 12. 14.
[프로그래머스] PCCP 모의고사 1회 3번 유전법칙 사용 언어 - Python3 문제 - 유전법칙 https://school.programmers.co.kr/learn/courses/15008/lessons/121685 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 규칙찾기! 스택 활용 모든 부모들로 거슬러 올라가서 그 부모가 몇 번째 자식이었는지 확인 (내 풀이) 해당 부모의 몇번째 자식인지 확인 (p-1)를 4로 나누면, 몫 = 몇번째 세대 / 나머지 = 몇번째 자식인지 확인 1. 인덱스를 맞춰주기 위해 p -= 1 2. n == 1 세대이면, 그냥 return 'Rr' 3. while n > 1.. 2023. 12. 14.
[프로그래머스] PCCP 모의고사 1회 2번 체육대회 사용 언어 - Python3 문제 - 체육대회 https://school.programmers.co.kr/learn/courses/15008/lessons/121684 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 구현 가능한 모든 조합(순열) 구하기 (내 풀이) permutations 가능한 사람 인덱스의 모든 조합 from itertools import * from itertools import permutations (순열) 1. 사람인덱스 설정하기 5명일 경우, p_index= [0,1,2,3,4] 2. 가능한 사람 인덱스의 모든 조합(순열).. 2023. 12. 13.
[프로그래머스 lv 3] 가장 먼 노드 사용 언어 - Python3 문제 - 가장 먼 노드 https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 구현 연결된 노드를 모두 확인해주면서 max(거리)인 경우를 카운트하기 1. 연결된 노드 정보를 저장해준다. 예) graph[1번노드] = 3번 노드 , grpah[3번 노드] = 1번 노드 2. 각 노드를 기준으로 최단거리를 저장할 distance 리스트를 생성한다. 거리는 0 일수도 있으니 디폴트값을 -1로 설정한다. distance =.. 2023. 12. 8.
[프로그래머스 lv 3] N으로 표현 사용 언어 - Python3 문제 - N으로 표현 https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 n숫자를 이용해서 number를 만들기 n 숫자를 1개부터 8개(cnt)까지 활용하면서 찾아준다. n을 최소한으로 사용해야하므로 number 값이 나오면 바로 끝낸다. return cnt 구하는 값 저장할 리스트, dp = [] dp 값들로 사칙연산한 값을 저장할 set, partial_dp = set() n을 2번 사용한다 = n + n o.. 2023. 12. 5.
[프로그래머스 lv 1] PCCP 기출 1번 붕대감기 사용 언어 - Python3 문제 - PCCP 기출 1번 붕대 감기 https://school.programmers.co.kr/learn/courses/19344/lessons/242258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 구현 각 단계별 체력을 status 리스트에 저장하기 0. 시간은 1초부터 attack[-1][0] 초까지 1. 초기 체력 = health, 시전시간 count 해줄 cnt = 0 2. 공격시간과 피해량을 attack_list에 저장해주기 3.1. 공격 받았다면, 이전상태에서 피해량 빼주기 status[i] = sta.. 2023. 12. 4.
[프로그래머스 lv 3] 베스트앨범 사용 언어 - Python3 문제 - 베스트앨범 https://school.programmers.co.kr/learn/courses/30/lessons/42579 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 hash 사용하기 1. 딕셔너리 생성 dic1 각 장르별 인덱스와 재생수 dic1[g] = [(i,p)] dic2 각 장르별 재생횟수 총합 dic2[g] += p 2. 정렬 dic2의 장르별 총 재생 횟수가 많은 순서대로 내림차순 정렬 > dic1[k] 해당 장르에서 가장 많이 재생된 순서대로 내림차순 정렬 -> [:2] 두곡만 index를 a.. 2023. 12. 4.
[프로그래머스 lv 2] 의상 사용 언어 - Python3 문제 - 의상 https://school.programmers.co.kr/learn/courses/30/lessons/42578 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 hash 사용하기 1. 옷을 종류별로 구분하기 hasp_map[얼굴] = 얼굴에 쓰는 옷 종류 개수 type에 해당하는 옷이 없다면 +1 / 있다면 지금까지의 count + 1 hash_map.get(type,0) + 1 2. 모든 조합 계산하기 상의 2개에 하의 1개이면, 상의만 입거나 하의만 입을 수도 있으므로 가능한 경우 수 = 상의 3개*하의.. 2023. 12. 4.
[백준] 1197번 최소 스패닝 트리 (프림, 크루스칼) 사용 언어 - Python3, PyPy3 문제 - 1197번 최소 스패닝 트리 Minimum Spanning Tree 최소한으로 뻗어나가는 트리 - 프림 = 다익스트라 이용해서 MST 구하는 문제 - 크루스칼 = 유니온파인드 이용해서 MST 구하는 문제 https://www.acmicpc.net/problem/1197 1197번: 최소 스패닝 트리 첫째 줄에 정점의 개수 V(1 ≤ V ≤ 10,000)와 간선의 개수 E(1 ≤ E ≤ 100,000)가 주어진다. 다음 E개의 줄에는 각 간선에 대한 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 정점과 B번 정점이 www.acmicpc.net 정답 최소 스패닝 트리 알고리즘 트리의 기본 조건 : 사이클 발생 X 방법1. 프림 다익스트라를 이.. 2023. 11. 8.
[백준] 1717번 집합의 표현 (유니온 파인드 문제) 사용 언어 - Python3, PyPy3 문제 - 1717번 집합의 표현 유니온 파인드 union & find 두 노드, 두 숫자, 두 무언가가 같은 집합 안에 있나요? https://www.acmicpc.net/problem/1717 1717번: 집합의 표현 초기에 $n+1$개의 집합 $\{0\}, \{1\}, \{2\}, \dots , \{n\}$이 있다. 여기에 합집합 연산과, 두 원소가 같은 집합에 포함되어 있는지를 확인하는 연산을 수행하려고 한다. 집합을 표현하는 프로그램을 작 www.acmicpc.net 정답 유니온 파인드 x==0 인 경우, 두 집합 합치기 _union(a,b) - 부모 리스트 생성 par = [i for i in range(n+1)] 부모는 자기자신으로 시작 - 관계 생성 .. 2023. 11. 6.