프로그래머스(2)
-
[프로그래머스] 섬 연결하기 파이썬 풀이
※사용언어 : 파이썬 ※ ▼ 문제 링크 ▼ 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 문제 설명 ◇ 전형적인 크루스칼 알고리즘 문제이다. ◇ 크루스칼 알고리즘이란? 그래프 내의 모든 정점을 가장 적은 비용으로 연결하는 알고리즘으로 최소 신상 트리를 구하는 알고리즘이다. ◇ 비용을 기준으로 costs를 오름차순으로 정렬하고 해당 간선을 방문했는지 안 했는지 확인해가며 풀어가는 문제이다. 문제 풀이 (with Python) def solution(n, costs): costs=sorted(costs, ke..
2021.08.07 -
[프로그래머스] 2개 이하로 다른 비트 파이썬 풀이
※사용언어 : 파이썬 ※ ▼ 문제 링크 ▼ https://programmers.co.kr/learn/courses/30/lessons/77885 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 문제 접근 ◇ 짝수와 홀수의 경우로 나누어서 생각해볼 수 있다. ◇ 짝수인 경우 마지막 bit를 0에서 1로 바꾸면 X보다 크면서 1~2개 비트가 다른 수 중 가장 최솟값이 된다. ◇ 홀수인 경우 크게 2가지 경우로 나뉜다. ➡ 1. 2진수로 전환시 모든 비트가 1인 경우 (EX. 7, 15) ➡ 2. 모든 비트가 1이 아닌 경우 (0이 섞여있는 경우로 9 같은 숫자를 예로 들 수 있다.) ◇ 모든 비트가 1인 경우에는 앞에 있는 01을 10으로 바꿔줍니다. ◇ 모든 비트가 1이 아닌 경..
2021.06.03