[Python][Silver 4][1748] 수 이어쓰기 1
·
BAEKJOON
|    문제1부터 N까지의 수를 이어서 쓰면 다음과 같이 새로운 하나의 수를 얻을 수 있다.1234567891011121314151617181920212223...이렇게 만들어진 새로운 수는 몇 자리 수일까? 이 수의 자릿수를 구하는 프로그램을 작성하시오. |    입력 첫째 줄에 N(1 ≤ N ≤ 100,000,000)이 주어진다.   |    출력 첫째 줄에 새로운 수의 자릿수를 출력한다.   정답 코드import sysinput = sys.stdin.readlineclass Solution: # 메모리 초과 def relay_number_(self): n = int(input()) nums = ''.join(map(str, range(1,n+1))) ..
[Python][Gold 5][1107] 리모컨
·
BAEKJOON
|    문제수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다.리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다.수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오.수빈이가 지금 보고 있는 채널은 100번이다. |    입력 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난..
[Python][Silver 1][24542] 튜터-튜티 관계의 수
·
BAEKJOON
|    문제대학생 찬솔이는 이번 학기부터 헬로알고에서 멘토로 활동하게 되었다. 현재 찬솔이가 담당한 반에는 총 N명의 교육생이 있다.사전 정보를 통해 찬솔이는 헬로알고 교육생 간의 친분 관계를 나타내는 양방향 그래프를 하나 획득할 수 있었다. 정말 특이하게도 이 친분 관계를 나타낸 그래프는 포레스트 형태였다. 포레스트란 사이클이 없는 그래프를 의미한다.찬솔이는 이 교육생 간 친분관계를 토대로 교육생들끼리 튜터-튜티 관계를 구성하고자 한다. 튜터-튜티 관계는 기존에 친분 관계가 있던 두 사람 사이에서만 정할 수 있으며 단방향으로만 지정할 수 있다.찬솔이가 배포한 교육 자료는 튜터가 튜티에게만 전달할 수 있도록 하였다. 이런 방식으로 모든 교육생에게 교육 자료가 전달되어야만 한다. 이렇게 되면 부득이하게 ..
[Algorithm] Kruskal 알고리즘
·
ALGORITHM
Kruskal Algorithm 이란?가중치가 작은 간선부터 선택하면서, 사이클이 생기지 않도록 추가하는 방식알고리즘 과정모든 간선을 가중치 기준으로 오름차순 정렬한다.가중치가 가장 작은 간선부터 하나씩 선택한다. 유니온-파인드를 사용해 사이클이 생기는지 확인한다.만약 사이클이 생기지 않는다면, 해당 간선을 선택한다.만약 사이클이 생긴다면, 해당 간선을 버린다. N-1개의 간선이 선택될 때까지 반복한다. (MST의 성질)import sysinput = sys.stdin.readline# 유니온 파인드 (경로 압축 적용)def find(parent, x): if parent[x] != x: parent[x] = find(parent, parent[x]) return parent[x]..