[백준] 1978번 소수 찾기 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 풀이 소수찾기 함수를 만들어서 풀어줘도 좋고 함수없이 푸는것도 좋다. 두개 다 올려놓겠다. # 1978번 소수 찾기 _ = int(input()) ans = 0 numbers = list(map(int, input().split())) # 소수 찾기 알고리즘 def prime(x): for i in range(2, int(x**0.5)+1): if x % i == 0: return False return True for i in numbers: if i == 1: ..
[백준] 2475번 검증수 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 풀이 간단한 구현이다. # 2475번 검증수 numbers = list(map(int, input().split())) total = 0 for i in numbers: total += (i**2) print(total % 10) 출력결과
[백준] 2920번 음계 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 풀이 단순한 구현이다. # 2920번 음계 numbers = list(map(int, input().split())) asc = [1, 2, 3, 4, 5, 6, 7, 8] dsc = list(reversed(asc)) if numbers == asc: print("ascending") elif numbers == dsc: print("descending"..
[백준] 9370 미확인 도착지 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/9370 9370번: 미확인 도착지 (취익)B100 요원, 요란한 옷차림을 한 서커스 예술가 한 쌍이 한 도시의 거리들을 이동하고 있다. 너의 임무는 그들이 어디로 가고 있는지 알아내는 것이다. 우리가 알아낸 것은 그들이 s지점에서 www.acmicpc.net 풀이 다익스트라 알고리즘을 사용했으며 문제에서 목적지까지 최단경로로 이동하는데 주어진 교차로를 무조건 지나야한다. 출발지 - g - h - 목적지 혹은 출발지 - h - g - 목적지가 출발지 - 목적지까지의 최단경로와 동일하다면 교차로를 지나가는것이다. 다만 교차로를 지나가지않는데도 최단경로 값이 같을 수 있지않나 싶다.(입력값이 그렇게 주어진다면..) 다른분들의 풀이를 보니 지나가야하는 ..
[백준] 10282번 해킹 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/10282 10282번: 해킹 최흉최악의 해커 yum3이 네트워크 시설의 한 컴퓨터를 해킹했다! 이제 서로에 의존하는 컴퓨터들은 점차 하나둘 전염되기 시작한다. 어떤 컴퓨터 a가 다른 컴퓨터 b에 의존한다면, b가 감염되면 www.acmicpc.net 풀이 시작값이 주어졌기에 다익스트라 알고리즘으로 풀어주었다. # 10282번 해킹 import sys import heapq input = sys.stdin.readline INF = sys.maxsize # 다익스트라 알고리즘 def dijkstra(start): q=[] heapq.heappush(q, (0, start)) distance[start]=0 while q: dist, now = he..
[백준] 18352번 특정 거리의 도시 찾기 - 파이썬
·
백준/최단거리
https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 풀이 다익스트라 알고리즘 사용 # 18352번 특정 거리의 도시 찾기 import sys import heapq INF = sys.maxsize def dijkstra(start): q = [] heapq.heappush(q, (0, start)) distance[start] = 0 while q: dist, now = he..
[백준] 1676번 팩토리얼 0의 개수 - 파이썬
·
백준/그리디
https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 팩토리얼 함수 작성 이후에 나온 숫자를 문자열로 만들어서 뒤부터 계산해준다. # 1676번 팩토리얼 0의 개수 def factorial(n): if (n
[백준] 4150번 피보나치 수 - 파이썬
·
백준/구현
https://www.acmicpc.net/problem/4150 4150번: 피보나치 수 피보나치 수열은 다음과 같이 그 전 두 항의 합으로 계산되는 수열이다. 첫 두 항은 1로 정의된다. f(1) = 1, f(2) = 1, f(n > 2) = f(n − 1) + f(n − 2) 정수를 입력받아, 그에 해당하는 피보나치 수를 출력 www.acmicpc.net 풀이 1 피보나치 수를 점화식을 사용해서 문제를 풀어준다. # 4150번 피보나치 수 n = int(input()) # dp 생성 fibo = [0, 1] for i in range(2, n+1): fibo.append(fibo[i-1] + fibo[i-2]) print(fibo[n]) 출력결과 풀이 2(시간초과) 재귀함수 사용하게되며 시간초과 일..
개발자 성현
개발새발 블로그