파이썬

    [백준] 1038 감소하는 수 파이썬

    문제 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 출력하는 프로그램을 작성하시오. 0은 0번째 감소하는 수이고, 1은 1번째 감소하는 수이다. 만약 N번째 감소하는 수가 없다면 -1을 출력한다. 입력 첫째 줄에 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 N번째 감소하는 수를 출력한다. https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어,..

    그래프 알고리즘 정리 - 파이썬

    그래프 알고리즘 분류 그래프는 최소신장트리와 최단거리 문제로 나눌 수 있다. 각기 사용되는 알고리즘이 다르다. MST (최소신장트리) 크루스칼 - 간선기준 가장 작은것부터 연결, 음의 간선 가능 프림 - 정점기준 정점에 연결된 가장 작은 간선으로 연결, 음의 간선 가능 간선 개수가 적으면 크루스칼, 정점 개수가 적으면 프림 적용 최단경로 다익스트라 (우선순위큐 heapq 사용, 단일 정점 최단경로) 벨만-포드 (음의 가중치, 경로 추적 가능) 플로이드 와샬 (음의 가중치, 3중포문, 모든 정점 사이 최단거리) shortest path faster algorithm 크루스칼 간선을 정렬하여 가중치가 작은 간선부터 연결 사이클이 발생하면 연결하지 않음 O(E * log(E)) 프림 한 정점의 간선 중 가중치..

    [프로그래머스] 2018 카카오 블라인드 [1차] 뉴스 클러스터링

    문제 https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 풀이 알고리즘은 따로 고민할 것이 없었고 문제에 주어진 그대록 구현하는 문제였다. 간단히 하자면 다음과 같다. 두 자씩 잘라 리스트에 넣는다. 영문자 아닌건 버린다. 두 리스트의 교집합을 합집합으로 나눈다. def solution(str1, str2): sp_str1 = [] sp_str2 = [] for i in range(1, le..