파이썬(148)
-
백준 1747 파이썬 에라토스테네스의 체를 이용 팰린드롬
백준 1747 - 소수&팰린드롬 문제 https://www.acmicpc.net/problem/1747 1747번: 소수&팰린드롬 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, www.acmicpc.net 답안 코드 : import math N = int(input()) A = [0] * (10000001) for i in range(2, len(A)): A[i] = i for i in range(2, int(math.sqrt(len(A)) + 1)): # 제곱근까지만 수행 if A[i] == 0: continue for j..
2024.05.29 -
백준 1456 파이썬 거의 소수
백준 1456 - 거의 소수 문제 https://www.acmicpc.net/problem/1456 1456번: 거의 소수 어떤 수가 소수의 N제곱(N ≥ 2) 꼴일 때, 그 수를 거의 소수라고 한다. 두 정수 A와 B가 주어지면, A보다 크거나 같고, B보다 작거나 같은 거의 소수가 몇 개인지 출력한다. www.acmicpc.net 답안 코드 : import math Min, Max = map(int, input().split()) A = [0] * (10000001) for i in range(2, len(A)): A[i] = i for i in range(2, int(math.sqrt(len(A)) + 1)): # 제곱근까지만 수행 if A[i] == 0: continue for j in range..
2024.05.28 -
백준 1929 파이썬 에라토스테네스 체
백준 1929 - 소수 구하기 문제 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 답안 코드 : import math M, N = map(int, input().split()) A = [0] * (N + 1) for i in range(2, N + 1): A[i] = i for i in range(2, int(math.sqrt(N)) + 1): # 제곱근까지만 수행 if A[i] == 0: continue for j in range(i + i, N + 1, i): # 배수 ..
2024.05.27 -
백준 1541 파이썬 그리디 생각해내기
백준 1541 - 잃어버린 괄호 문제 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 답안 코드 : answer = 0 A = list(map(str, input().split("-"))) def mySum(i): sum = 0 temp = str(i).split("+") for i in temp: sum += int(i) return sum for i in range(len(A)): temp = mySum(A[i]) if i == 0: ..
2024.05.26 -
백준 1931 파이썬 회의실 배정
백준 1931 - 회의실 배정 문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 답안 코드 : N = int(input()) A = [[0] * 2 for _ in range(N)] for i in range(N): S, E = map(int, input().split()) A[i][0] = E # 종료시간 우선 정렬이 우선이기 때문에 0번째에 종료시간을 먼저 저장. A[i][1] = S A.sort() count = 0 end = -1 for i in range(N): if A[i][1] >= end: # 겹치지 않는 다음 회의가 나온 경우 end = A..
2024.05.25 -
백준 1744 파이썬 음수의 집합 고려
백준 1744 - 수 묶기 문제 https://www.acmicpc.net/problem/1744 1744번: 수 묶기 길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 www.acmicpc.net 답안 코드 : from queue import PriorityQueue N = int(input()) plusPq = PriorityQueue() mlusPq = PriorityQueue() one = 0 zero = 0 for i in range(N): # 4가지로 데이터 분리 저장 data = int(input()) if data > 1: plusPq.put(..
2024.05.24