all(408)
-
프로그래머스 후보키 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42890 코딩테스트 연습 - 후보키 [["100","ryan","music","2"],["200","apeach","math","2"],["300","tube","computer","3"],["400","con","computer","4"],["500","muzi","music","3"],["600","apeach","music","2"]] 2 programmers.co.kr candidate_keys라는 리스트에 유일성과 최소성을 모두 만족하는 후보키의 인덱스를 저장합니다. 먼저 key, 혹은 column의 개수를 N으로 저장합니다. 그리고 1에서 N까지 증가하며 각 key의 combination을 구합니다. ..
2021.06.01 -
프로그래머스 예상 대진표 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/12985 코딩테스트 연습 - 예상 대진표 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N programmers.co.kr answer에 a,b가 만나는 라운드의 번호를 저장합니다. 처음엔 1로 초기화합니다. check_if_meet 함수를 통해 현재 라운드에서 a,b가 만나는지 확인합니다. a,b가 만나려면 둘의 차가 1이고 둘 중 더 큰 값이 짝수여야 합니다. next_num 함수는 현재 선수의 번호를 받으면, 다음 라운드에 이 선수에게 주어질 번호를 반..
2021.06.01 -
프로그래머스 크레인 인형뽑기 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/64061 코딩테스트 연습 - 크레인 인형뽑기 게임 [[0,0,0,0,0],[0,0,1,0,3],[0,2,5,0,1],[4,2,4,4,2],[3,5,1,3,1]] [1,5,3,5,1,2,1,4] 4 programmers.co.kr answer에 인형이 터뜨러져 사라진 횟수를 저장합니다. 입력으로 주어진 board를 전치하여 transposed_board를 만들고, 각 행에 세로줄의 인형들이 올 수 있게 만들었습니다. move에서 주어진 세로줄에 접근하여 차례로 아래로 내려가며(인덱스를 증가해가며) 인형이 있으면 그 위치의 값을 0으로 만들어 인형이 꺼내졌음을 표시합니다. 그 후 바구니가 비어있거나 바구니의 가장 위..
2021.06.01 -
프로그래머스 완주하지 못한 선수 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 간단하게 Counter를 사용하여 풀이했습니다 from collections import Counter def solution(participant, completion): return list((Counter(participant) - Counter(completion)).keys())[0]
2021.06.01 -
프로그래머스 디스크 컨트롤러 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr answer에 각 작업의 요청부터 종료까지 걸린 시간의 합을 저장하고, 마지막에 이를 작업의 개수로 나눠 최종 답을 반환했습니다. 우선 jobs를 요청시점이 이른 순대로, 요청 시점이 같다면 소요시간이 적은 순대로 정렬하여 queue로 변환하고, 현재 시점을 표현하는 now라는 변수를 만들었습니다. now는 첫 작업의 요청시점으로 초기화했습니다. jobs의..
2021.06.01 -
프로그래머스 등굣길 코드 및 해설 (파이썬)
https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr town이라는 딕셔너리를 정의하고, key에는 각 위치의 좌표, value에는 각 위치에 도달하기까지 가능한 모든 경우의 수를 저장했습니다. 오른쪽과 아래쪽으로만 움직일 수 있기 때문에 현재 위치의 왼쪽과 위쪽의 값을 더해 현재 위치의 값을 갱신했습니다. 이때 왼쪽이나 위쪽에 길이 없어 index Error가 날 수 있는 곳은 길이 없는 곳은 제외하고..
2021.06.01