본문 바로가기

분류 전체보기464

[프로그래머스] PCCP 모의고사 2회 2번 신입사원 교육 사용 언어 - Python3 문제 - 신입사원 교육 https://school.programmers.co.kr/learn/courses/15009/lessons/121688 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 heapq 자동 정렬 기능 활용 시간초과 없이 구현하기가 포인트! 1. 첫번째 시도 (오답) 모든 테스트에서 시간초과 from itertools import combinations def solution(ability, number): idx = [i for i in range(len(ability))] # idx while numb.. 2023. 12. 15.
[프로그래머스] PCCP 모의고사 2회 1번 실습용 로봇 사용 언어 - Python3 문제 - 실습용 로봇 https://school.programmers.co.kr/learn/courses/15009/lessons/121687 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 구현 방향에 따라 바뀌는 x, y 위치 잘 파악하기 개인적으로 지금까지 PCCP 문제중에 제일 쉬웠음 0. 시작위치 x=0, y=0 / 시작방향 a = 0 오른쪽 90도 회전 : a+90 왼쪽 90도 회전 : a-90 360도 넘거나 0보다 작아지면 -360, +360으로 방향 업데이트 1. 명령어에 따라 바뀌는 x값, y값을 저장해준.. 2023. 12. 15.
[프로그래머스] 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.
[프로그래머스] PCCP 모의고사 1회 1번 외톨이 알파벳 사용 언어 - Python3 문제 - 외톨이 알파벳 https://school.programmers.co.kr/learn/courses/15008/lessons/121683 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 구현 외톨이 알파벳이 아닌 경우 제거하기 (내 풀이) answer 에 중복을 제거한 외톨이 알파벳 후보를 저장해주고, 외톨이 알파벳이 아닌 경우를 제거해줬다. 1. 개수가 한개인 알파벳은 외톨이 알파벳이 아니다. string.count(string[i]) == 1 2. 여러 개여도 나뉘어 있지않고, 한 부분으로 뭉쳐있으면 외톨이 알파.. 2023. 12. 13.
[프로그래머스 lv 5] 방의 개수 사용 언어 - Python3 문제 - 방의 개수 https://school.programmers.co.kr/learn/courses/30/lessons/49190 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 대각선 판별을 위해 이동거리를 1이 아닌 2라고 생각하기 방문여부, 경로가 겹치지 않았는지 확인 0. from collections import defaultdict : dic클래스의 서브 클래스, 유사딕셔너리 : 외부함수라 import 필요 visit = defaultdict(list) : 방문여부를 빈리스트로 유사딕셔너리로 설정 1. x,y.. 2023. 12. 11.
[프로그래머스 lv 3] PCCP 기출 4번 수레 움직이기 사용 언어 - Python3 문제 - PCCP 기출 4번 수레 움직이기 https://school.programmers.co.kr/learn/courses/30/lessons/250134?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 BFS 탐색 다양한 경우의 수 생각하기 1. 빨강 시작점/끝점, 파랑 시작점/끝점 위치 찾기 2. 방문여부 visited 리스트 생성, 시작점은 방문 O (True)로 설정 3. q 빨강 시작점x,y / 파랑 시작점x,y / 빨강방문여부 / 파랑방문여부 / cnt 4. 경우의 수 4.1. .. 2023. 12. 11.
[프로그래머스 lv 3] 순위 사용 언어 - Python3 문제 - 순위 https://school.programmers.co.kr/learn/courses/30/lessons/49191 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정답 해당 사람에게 이기고 진 사람 수 확인하기 플로이드-와샬 알고리즘 A->B, B->C ===> A->C 1. 이기고 진 관계 설정하기 dist_array = [[0]*n for _ in range(n)] dist_array[이긴사람][진사람] = 1 2.i가 k를 이겼고, k가 j를 이겼다면, 자동으로 i는 j를 이겼다. 3번의 반복문을 통해 dis.. 2023. 12. 8.
[프로그래머스 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.