알고리즘

Study/코딩 테스트

2021.2.26 [백준] 최대공약수와 최소공배수

Q www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net A 다른 식으로 풀어도 되겠지만 파이썬의 강력함은 다양한 라이브러리에서 나온다고 생각하여서 math 라이브러리를 사용하였다. 코드 a, b = map(int, input()) import math print(math.gcd(a, b)) print(math.lcm(a, b))

Study/코딩 테스트

2021.2.26 [백준] 플로이드

플로이드 워셜 알고리즘 Q www.acmicpc.net/problem/11404 11404번: 플로이드 첫째 줄에 도시의 개수 n이 주어지고 둘째 줄에는 버스의 개수 m이 주어진다. 그리고 셋째 줄부터 m+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 버스의 출발 도시의 번호가 www.acmicpc.net A 최단경로 문제여서 플로이드 워셜을 사용하여 풀었다. 주의할 점은 시작도시에서 도착도시로 가는 버스가 하나 이상 있을 수 있다는 점을 고려해서 문제를 푸는 것이였다. 참고로 input을 써서 풀었을 때 4860 ms 였지만, sys를 이용해서 풀었을 때 908 ms 였다. 귀찮더라도 sys 이용하자 코드 import sys INF = int(1e9) n = int(sys.stdin...

Study/코딩 테스트

2021.2.22 [백준] 돌 게임

Q www.acmicpc.net/problem/9655 9655번: 돌 게임 상근이가 게임을 이기면 SK를, 창영이가 게임을 이기면 CY을 출력한다. www.acmicpc.net A 원했던 풀이가 어떤 것인지는 모르겠으나, 규칙을 파악하면 쉽게 풀 수 있다는 것을 알게 되었다. 코드 n = int(input()) if n % 2 ==0: print('CY') else: print('SK')

Study/코딩 테스트

2021.2.19 [백준] 먹을 것인가 먹힐 것인가

이진 탐색 알고리즘 Q www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net A 이진 탐색 알고리즘을 쓰는데, bisect 라이브러리를 활용하면 더 쉽게 풀 수 있다. bisect 사용 코드 from bisect import bisect_left, bisect_right import sys testcase = int(sys.stdin.readline().rstrip().split()) for _ in range(..

NOredstone
'알고리즘' 태그의 글 목록 (3 Page)