전체 글(137)
-
프로그래머스 : 영어 끝말잇기
https://programmers.co.kr/learn/courses/30/lessons/12981 코딩테스트 연습 - 영어 끝말잇기 3 ["tank", "kick", "know", "wheel", "land", "dream", "mother", "robot", "tank"] [3,3] 5 ["hello", "observe", "effect", "take", "either", "recognize", "encourage", "ensure", "establish", "hang", "gather", "refer", "reference", "estimate", "executive"] [0,0] programmers.co.kr 반복문을 돌리다가 주어진 조건을 만족하지 않으면 해당이 몇 번째 i인지 a에 저장하고..
2021.10.21 -
프로그래머스 : 2개 이하로 다른 비트
https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 2진수로 변환했을 때, 다 1로 이루어져 있는 경우는 10111...의 꼴이 2개 이하로 비트가 다르면서 가장 작은 수이므로 다 1로 이루어져 있는 경우와 아닌 경우를 구분해서 시행한다. 1로 이루어져 있는 경우는, 오른쪽에서 왼쪽으로 이동해가면서 0을 만나면 1로 만나고, 해당 위치의 바로 오른쪽이 1이라 0으로 바꿀 수 있으면 바꿔준다. * 0일 때는 예외처리를 꼭 해줘야한다! def get_binary(n): answer = [] now = 2 while n>0: answer.append(n%now) n = n//now an..
2021.10.21 -
프로그래머스 : 섬 연결하기
https://programmers.co.kr/learn/courses/30/lessons/42861 코딩테스트 연습 - 섬 연결하기 4 [[0,1,1],[0,2,2],[1,2,5],[1,3,1],[2,3,8]] 4 programmers.co.kr 전형적인 크루스칼 알고리즘이다. https://cseella.tistory.com/117?category=940613 (4번에 크루스칼 알고리즘) import heapq def find_parent(parent,a): if parent[a] != a: parent[a] = find_parent(parent,parent[a]) return parent[a] def union_parent(parent,a,b): a = find_parent(parent,a) b =..
2021.10.19 -
프로그래머스 : 단어 변환
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr target이 words안에 없으면 바로 0을 리턴합니다. 그리고 begin이 words안에 없으면 words에 넣어줍니다. (BFS시, 편리함을 위해서) 이 후, words안에서 서로 한 글자만 차이나는 아이들은 서로 변환이 가능하기 때문에, graph에 넣어서 이어줍니다. 이 후, BFS 실행 from collect..
2021.10.19 -
프로그래머스 : H-Index
https://programmers.co.kr/learn/courses/30/lessons/42747 코딩테스트 연습 - H-Index H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표 programmers.co.kr 일단 조건에 맞게 for문을 구현한 후, for문이 끝나도 답이 나오지 않으면 citations의 길이를 리턴한다. 이 때, citations에 0만 있는 경우엔 0을 리턴해야한다. def solution(citations): answer = -1 citations.sort(reverse=True) for i in range(le..
2021.10.19 -
프로그래머스 : 다리를 지나는 트럭
https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 시키는대로 구현을 잘 하면 된다. 현재 무게와 트럭이 몇 대 있는지 꼭 확인해야한다. def solution(bridge_length, weight, truck_weights): answer = 1 now_weight = 0 now_trucks = 0 start_times = [0] * len(truck_weights) i = 0 wh..
2021.10.19