[백준] 1065번 한수 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 풀이 1 주어진 자연수가 자릿수 2 이하이면 등차수열 조건을 만족한다. 자릿수가 3 이상인 경우에는 자릿수가 1 차이나는 숫자끼리 차이가 같은지 확인한다. # 1065번 한수 n = int(input()) cnt = 0 def check(standard): for j in range(1, len(word)-1): if (int(word[j]) - int(word[j+1])) != standard: r..
[백준] 2610번 회의준비 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/2610 2610번: 회의준비 첫째 중에 회의에 참석하는 사람의 수 N이 주어진다. 참석자들은 1부터 N까지의 자연수로 표현되며 회의에 참석하는 인원은 100 이하이다. 둘째 줄에는 서로 알고 있는 관계의 수 M이 주어진다. 이 www.acmicpc.net 풀이 문제풀이에 BFS와 플로이드와샬 알고리즘을 사용해주었다.BFS => 위원회의 개수를 세는데 사용플로이드 와샬 => 최단경로 계산 BFS는 우리가 BFS 사이클 문제를 많이 풀어왔다면 문제없이 해결 할 수 있었을 것이다.플로이드 와샬 또한 우리가 양방향 그래프이며 노드간의 직접적인 의사전달이 가능하다면 비용 1을 넣어주었다. 문제는 출력문을 뽑아주는것인데 다음단계를 거쳐 출력했다. 1, BF..
[백준] 15552번 빠른 A+B - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 풀이 문제에 나와있듯이 파이썬은 입력을 빨리 받아서 시간소모를 줄여주는 sys.stdin.realine이 있다. 파이썬 문제에서 많은 입력이 주어지면 필수로 쓰이기에 외워두는 것이 좋다. # 15552번 빠른 A+B import sys input = sys.stdin.readline t = int(input()) for _ in range(t): a, b = map(int, input().split()) print..
[백준] 11780번 플로이드 2 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/11780 11780번: 플로이드 2 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 풀이 이전에 풀어본 플로이드와 다른점은 경로를 출력하는 것이다. 출력을 할 수 있게 visit리스트를 추가했다. # 11780번 플로이드 2 import sys input = sys.stdin.readline INF = sys.maxsize n = int(input()) m = int(input()) # 간선 정보를 저장할 2차원 리스트 graph = [[INF]*(n+1) for _ in r..
[백준] 11404번 플로이드 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net 풀이 플로이드와셜 알고리즘을 사용한다. 문제에서 출발지와 도착지가 같지만 비용이 다른 노선이 있기에 최소비용 노선을 골라서 2차원 리스트에 넣어주어야한다. # 11404번 플로이드 import sys input = sys.stdin.readline INF = sys.maxsize n = int(input()) m = int(input()) graph = [[INF]*(n+1) for _ in ra..
[백준] 11651번 좌표 정렬하기 2 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/11651 11651번: 좌표 정렬하기 2 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 풀이 1 좌표 정렬하기 1에서 공부할 수 있었듯이 sort( )메서드를 사용하면 x부터 정렬한 뒤 y를 정렬해주었는데 이를 반대로 이용해서 y와 x의 자리를 바꾸어서 리스트에 넣어준 뒤 sort( )를 실행하고 출력은 다시 제자리로 바꿔주어서 뽑아주는 방법이 있다. # 11651번 좌표 정렬하기 2 import sys input = sys...
[백준] 8979번 올림픽 -파이썬
·
백준/그리디
https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net 풀이2 찾아야하는 나라의 성적과 똑같은 성적을 가진 나라를 내림차순으로 찾아서 제일 먼저 찾은 국가의 인덱스 값을 사용하면 된다. import sys input = sys.stdin.readline n, k = map(int, input().split()) score = [list(map(int, input().split())) for _ in range(n)] score.s..
[백준] 18108번 1998년생인 내가 태국에서는 2541년생?! - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/18108 18108번: 1998년생인 내가 태국에서는 2541년생?! ICPC Bangkok Regional에 참가하기 위해 수완나품 국제공항에 막 도착한 팀 레드시프트 일행은 눈을 믿을 수 없었다. 공항의 대형 스크린에 올해가 2562년이라고 적혀 있던 것이었다. 불교 국가인 태국 www.acmicpc.net 풀이 y = int(input()) print(y - 543)
개발자 성현
개발새발 블로그