본문 바로가기
728x90
반응형

파이썬30

[파이썬] 백준 2751번 수 정렬하기 2 문제 풀이 python 문제 설명 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 문제 링크 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 입출력 예시 프로그램 코드 import sys#입력 위한 sys 라이브러리 n = int(sys.stdin.readline())#n 입력 받기 li = []#빈 리스트 만들기 for i in range(n):#숫자 n개 입력 받아서 리스트에 저장 li.append(int(sys.stdin... 2024. 2. 6.
[파이썬] 백준 2292번 벌집 문제 풀이 python 문제 설명 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 문제 링크 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acm.. 2024. 2. 6.
[파이썬] 백준 2231번 분해합 문제 풀이 python 문제 설명 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 문제 링크 https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경.. 2024. 2. 6.
[파이썬] 백준 2164번 카드2 문제 풀이 python 문제 설명 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 한 장 남을 때까지 반복하게 된다. 우선, 제일 위에 있는 카드를 바닥에 버린다. 그 다음, 제일 위에 있는 카드를 제일 아래에 있는 카드 밑으로 옮긴다. 예를 들어 N=4인 경우를 생각해 보자. 카드는 제일 위에서부터 1234 의 순서로 놓여있다. 1을 버리면 234가 남는다. 여기서 2를 제일 아래로 옮기면 342가 된다. 3을 버리면 42가 되고, 4를 밑으로 옮기면 24가 된다. 마지막으로 2를 버리고 나면, 남는 카드는 4가 된다. N이 주어졌을 때, 제일 마지막에 남게 되는 카드를 구하는.. 2024. 2. 6.
[파이썬] 백준 2108번 통계학 문제 풀이 python 문제 설명 수를 처리하는 것은 통계학에서 상당히 중요한 일이다. 통계학에서 N개의 수를 대표하는 기본 통계값에는 다음과 같은 것들이 있다. 단, N은 홀수라고 가정하자. 산술평균 : N개의 수들의 합을 N으로 나눈 값 중앙값 : N개의 수들을 증가하는 순서로 나열했을 경우 그 중앙에 위치하는 값 최빈값 : N개의 수들 중 가장 많이 나타나는 값 범위 : N개의 수들 중 최댓값과 최솟값의 차이 N개의 수가 주어졌을 때, 네 가지 기본 통계값을 구하는 프로그램을 작성하시오. 문제 링크 https://www.acmicpc.net/problem/2108 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는.. 2024. 2. 5.
[파이썬] 백준 1966번 프린터 큐 문제 풀이 문제 설명 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 쌓여서 FIFO - First In First Out - 에 따라 인쇄가 되게 된다. 하지만 상근이는 새로운 프린터기 내부 소프트웨어를 개발하였는데, 이 프린터기는 다음과 같은 조건에 따라 인쇄를 하게 된다. 현재 Queue의 가장 앞에 있는 문서의 ‘중요도’를 확인한다. 나머지 문서들 중 현재 문서보다 중요도가 높은 문서가 하나라도 있다면, 이 문서를 인쇄하지 않고 Queue의 가장 뒤에 재배치 한다. 그렇지 않다면 바로 인쇄를 한다. 예를 들어 Queue에 4개의 문서(A B C D)가 있고, 중요도가.. 2024. 2. 5.
[파이썬] 리스트로 큐 자료구조 만들기 Queue 큐 Queue 란? 큐는 선형 자료구조로, 먼저 저장한 자료가 먼저 출력되는 FIFO (First In First Out) 의 구조를 이룹니다. 예를 들어 설명을 해보겠습니다. 큐를 이용하는 방법은 간단하게 2가지가 있습니다. 1. 자료 추가 2. 자료 뽑기 [] 빈 큐가 있다고 가정해봅시다. 1, 2, 3 자료를 차례대로 추가를 하면 큐는 [1, 2, 3] 이런 형태가 됩니다. 2. 자료 뽑기 자료를 뽑을 때에도 추가된 순서대로 뽑기가 됩니다. 자료를 3개를 뽑으면 차례대로 1, 2, 3이 나옵니다. 리스트로 큐 만들기 1 파이썬에서 리스트로 큐를 만들기 위한 방법은 많지만 이 글에서는 간단한 2가지 방법을 소개합니다. 첫번째 방법은 자료를 추가할 때는 리스트의 맨 뒤에서부터 추가를 하고 자료를 뽑을 .. 2024. 2. 5.
[파이썬] 백준 1929번 소수 구하기 문제 풀이 문제 설명 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 문제 링크 https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 입출력 예시 프로그램 코드 import math def is_prime(a): #소수 구하는 함수 if a == 1: return 0 for i in range(2, int(math.sqrt(a)) + 1): #2부터 그 숫자의 제곱근까지 검사 if a % i == 0: return 0 return 1 M, N = map(int, input().s.. 2024. 2. 5.
[파이썬] 제곱근 루트 구하기 ** math sqrt() 파이썬을 이용한 특정 숫자의 제곱근을 구하는 방법에 대해서 알아보도록 하겠습니다. 제곱 연산자 ** 파이썬에서는 제곱을 구할 수 있는 연산자인 ** 연산자를 제공합니다. 특정 숫자의 제곱을 구하고 싶다면 a = 10 print(a ** 2) #실행 결과 : 100 숫자 ** 2 를 이용하면 특정 숫자의 제곱수를 구할 수 있습니다. 이를 이용하면 특정 숫자의 제곱근도 구할 수 있습니다. a = 100 print(a ** 0.5) #실행 결과 : 10.0 숫자 ** 0.5 를 이용하면 특정 숫자의 제곱근을 구할 수 있습니다. math 라이브러리 sqrt() 함수 이용 파이썬에서는 수학 연산을 위한 math 라이브러리를 제공합니다. 이를 이용하면 특정 숫자의 제곱근을 구할 수 있습니다. import math .. 2024. 2. 5.
[파이썬] 백준 1920번 문제 풀이 수찾기 (이분 탐색, 이진 탐색) 문제 설명 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 문제 링크 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 입출력 예시 프로그램 코드 N = int(input()) #N 입력 num = input().split() #N개 숫자 입력 li = [] #입력 받은 숫자 리스트에 저장 for i in num:.. 2024. 2. 5.
728x90
반응형