Algorithm
-
[🥲 프로그래머스] 네트워크 - BFS/DFSAlgorithm/1일 1코테 2021. 7. 28. 20:40
https://programmers.co.kr/learn/courses/30/lessons/43162?language=python3 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr ✅ 내가 푼 풀이 # 1차시도 -> 92.3점 def solution(n, computers): graph = {i:[] for i in range(n)} stack = [1] visited = [] # 그래프 형식으로 생성 for net in range(len(computers)): for num in range(len(co..
-
[프로그래머스] 입국심사 - 이분탐색Algorithm/1일 1코테 2021. 7. 26. 15:26
https://programmers.co.kr/learn/courses/30/lessons/43238?language=python3 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr 다른 사람 풀이 def solution(n, times): answer = 0 left = 0 right = max(times) * n # 최대 시간 while left < right: total = 0 # 심사한 인원수 mid = (left+right) // 2 # 현재 시간 # mid만큼의 시간이 있을때 처리할 수 있는 인원 수 ..
-
[🥲 프로그래머스] 구명보트 - 탐욕법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..