Algorithm/1일 1코테
-
[🥲 프로그래머스] 구명보트 - 탐욕법Algorithm/1일 1코테 2021. 7. 25. 20:59
https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 예전에 푼 문제인데 또 똑같이 시간초과함ㅋㅋㅋㅋㅋㅋ 인간은 망각의 동물...... ✅ 내가 푼 풀이 # 1차시도 - 시간초과 def solution(people, limit): people.sort() count = 0 while people: person = people.pop(0) if not people: count += 1 br..
-
[🥲 프로그래머스] 큰 수 만들기 - 탐욕법Algorithm/1일 1코테 2021. 7. 25. 20:22
https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr ✅ 다른 사람 풀이 def solution(number, k): # number = 1924 stack = [number[0]] # 맨 처음 숫자 1 for num in number[1:]: # 9,2,4가 하나씩 출력 # stack에 있는 값과 현재 num을 비교하여 stack을 채운다! # stack에 값이 있고 & stack의 맨 마지막 값이 현재 값보다 작고 & k가 0보다 크면 while len(stack) > 0 and stack[-1] 0: k -= 1 stack.pop() stack.append(nu..
-
[??? 프로그래머스] 조이스틱 - 탐욕법Algorithm/1일 1코테 2021. 7. 25. 17:17
https://programmers.co.kr/learn/courses/30/lessons/42860?language=python3 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 뭔소리인지 이해가 안됨! def solution(name): alpha = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','G','Z'] start_name =..
-
[🥲 프로그래머스] 베스트앨범 - hashAlgorithm/1일 1코테 2021. 7. 24. 16:06
https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr ✅ 내가 시도한 풀이 # 84점으로 광탈ㅠ def solution(genres, plays): music_list = {} idx = 0 for g, p in zip(genres, plays): # 각 카테고리마다 [고유번호, 플레이횟수] 순으로 넣어준다. if g not in music_list: music_list[g] = [] music_list[g].a..
-
[🥲 프로그래머스] 위장 - hashAlgorithm/1일 1코테 2021. 7. 23. 17:00
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr ✅ 내가 쓴 풀이 def solution(clothes): clothes_hash = {} for clothe in clothes: if clothe[1] not in clothes_hash: clothes_hash[clothe[1]] = 1 else: clothes_hash[clothe[1]] += 1 answer = 1 for clothe in clothes_hash.values(): answer *= clothe+1 # 해당 카테고리를 아예 안입는 경우를 고려해서 +1 return answer - 1 # 아무것도 안입는 것 제외
-
[🥲 프로그래머스] 전화번호 목록 - hashAlgorithm/1일 1코테 2021. 7. 22. 20:47
https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr ✅ 내가 푼 풀이 # 시간 초과 def solution(phone_book): phone_book.sort() # 시간단축을 위한 정렬 for i, v in enumerate(phone_book): for j in range(i+1, len(phone_book)): if phone_book[j].startswith(v): # v로 시작하면 false retu..
-
[😍 프로그래머스] 완주하지 못한 선수 - hashAlgorithm/1일 1코테 2021. 7. 22. 20:07
https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr ✅ 내가 푼 답 def solution(participant, completion): hash_dict = {} # 참여자들 count, 이름이 같은 사람은 2가 된다. for person in participant: if person not in hash_dict: hash_dict[person] = 1 else: hash_dict[pers..
-
[😍 프로그래머스-카카오인턴] 키패드 누르기Algorithm/1일 1코테 2021. 7. 22. 14:33
https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 내가 쓴 풀이 def solution(numbers, hand): keypad = [[1,2,3], [4,5,6], [7,8,9],['*',0,'#']] answer = '' L = '30' R = '32' for number in numbers: fo..