분류 전체보기
-
[🥲 프로그래머스] 베스트앨범 - 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..
-
[🥲 프로그래머스] 등굣길 - Dynamic programmingAlgorithm/1일 1코테 2021. 7. 21. 21:33
https://programmers.co.kr/learn/courses/30/lessons/42898 코딩테스트 연습 - 등굣길 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = programmers.co.kr ✅ 내 풀이 (망!) # 시간초과ㅜㅜ def solution(m, n, puddles): to_house = [] answer = [] # 격자만큼의 배열 생성 for i in range(n): to_house.append([True]*m) # 웅덩이 위치는 false로 변경 for puddle in puddles: x = puddle[0]-1 y =..
-
[🥲 프로그래머스] 정수 삼각형 - Dynamic ProgrammingAlgorithm/1일 1코테 2021. 7. 20. 21:21
https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr ✅ 내가 쓴 답 # 내 광탈한 풀이!!!!! def solution(triangle): answer = [] for i in range(len(triangle)): if i == 0: answer.append(triangle[i]) continue temp = [] for j in range(i-1, i): for idx, n in enumerate(triangle[i]): for idx2, m in enumerate(answer[j])..
-
[🥲 프로그래머스] N으로 표현 (Dynamic Programming)Algorithm/1일 1코테 2021. 7. 19. 21:47
https://programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr 🥺 내가 푼 풀이 # 내가 푼 풀이 44.4점 ㅜㅜ # 리스트가 들어오면, 해당 리스트에 사칙연산을 해주는 함수 def DP(N, l): answer = [] for i in l: answer.append(i+N) answer.append(i*N) answer.append(i-N) answer.append(i/N) return answer + l def solution(N, number): l = [] answer = 0 for idx in range(1, 9): # 최대 8번까지 시행 l.append(int(str(N)*idx)) # 5,..