프로그래머스 문제풀이
-
가장 큰 수_정렬_Javascirpt프로그래머스 문제풀이 2021. 8. 8. 17:18
JS 파이썬처럼 생각하면서 JS로 풀면 더 어려웠음 function solution(numbers) { var answer = ''; // a = 6. b = 10 인경우를 생각 // 숫자로 정렬하면 [10, 6, 2] 가 되는데 문자열로 정렬하여 [6, 2, 10]가 되도록 만들어야함 answer = numbers.sort((a, b) => `${b}${a}` - `${a}${b}`).join('') // 0 인 경우 예외처리 && 문자열로 정렬햇기에 내부 번호들이 문자로 변경됨에 따른 "0"비교함 return answer[0] === "0" ? "0" : answer } Python 풀이 def solution(numbers): answer = '' # numbers의 원소인 1000이하 숫자 비교를..
-
기능개발_2LV_스택/큐(Python/JavaScript)프로그래머스 문제풀이 2021. 6. 26. 12:53
Python 풀이 하루에 완성되는 개발을 고려내기 위해 Time 변수를 어떻게 사용햇는지 주목하자!!! from collections import deque """ Time 을 이용한 조건문 구성하기""" def solution(progresses, speeds): answer = [] p = deque(progresses) s = deque(speeds) time = 0 count = 0 while p: # print(f'1 : P : {p}, tiem : {time} , Count : {count}') if p[0] + time * s[0] >= 100: # print(f'22 : P : {p}, tiem : {time} , Count : {count}') p.popleft() s.popleft() ..
-
완주하지 못한 선수(Python, Js)프로그래머스 문제풀이 2021. 6. 22. 21:38
파이썬 이전 풀이 해시 함수를 이용해 count 값의 차이로 완주하지 못한 한명을 찾아낸다. def solution(participant, completion): answer = '' A = {} count = 0 for part in participant: A[hash(part)] = part count += int(hash(part)) for com in completion: count -= int(hash(com)) answer = A[count] return answer def solution(participant, completion): answer = '' my_dict = {} count = 0 for part in participant: my_dict[hash(part)] = part co..
-
힙_이중우선순위큐_Python프로그래머스 문제풀이 2021. 6. 16. 11:50
문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. 명령어수신 탑(높이) 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. operations의 원소는 큐가 수행할 연산을 나타냅니다. 원소는 “명령어 데이터” 형식으로 주어집니다.- 최댓값/최솟값을 삭제하는 연산에서 최댓값/최솟값이 둘 이상인 경우, 하나만 삭제합니다. 빈 큐에 데이터를 삭제하라는 연산이 주어질 경우, 해당 연산은 무시합니다. 입출력 예 operationsre..
-
정렬_H Index_Python프로그래머스 문제풀이 2021. 6. 13. 22:55
문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입출력 예 설명 이 과학자가 발표한..
-
힙_디스크 컨트롤러_Python프로그래머스 문제풀이 2021. 6. 12. 14:25
문제 설명 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 제한 사항 jobs의 길이는 1 이상 500 이하입니다. jobs의 각 행은 하나의 작업에 대한 [작업이 요청되는 시점, 작업의 소요시간] 입니다. 각 작업에 대해 작업이 요청되는 시간은 0 이상 1,000 이하입니다. 각 작업에 대해 작업의 소요시간은 1 이상 1,000 이하입니다. 하드디스크가 작업을 수행하고 있지 않을 때에는 먼저 요청이 들어온 작업부터 처리합니다. 문제에 주어진 예와 같습니다. 0ms 시점에 3ms 걸리는 작업 요청이 들어옵니다. 1ms 시점에 9ms 걸리는 작업 요청이 들어옵니다. 2ms 시점..
-
해시_베스트 앨범_Python프로그래머스 문제풀이 2021. 6. 11. 18:43
문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres[i]는 고유번호가 i인 노래의 장르입니다. plays[i]는 고유번호가 i인 노래가 재생된 횟수입니..
-
해시 위장_Python_JavaScript프로그래머스 문제풀이 2021. 6. 9. 13:42
문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clothes의 모든 원소는 문자열로 이루어져 있습니다. 모든 문자열의 길이는 1 이상 20 이하인 ..