본문 바로가기

프로그래밍 언어/python16

2725: 보이는 점의 개수 https://www.acmicpc.net/problem/2725문제(0,0)에서 보이는 (x,y)의 개수를 구하려고 한다.(x,y >= 0, 정수)(0,0)에서 (x,y)가 보이려면 (0,0)과 (x,y)를 연결하는 직선이 다른 점을 통과하지 않아야 한다. 예를 들어 (4,2)는 (0,0)에서 보이지 않는다. 그 이유는 (0,0)과 (4,2)를 연결하는 직선이 (2,1)을 통과하기 때문이다. 아래 그림은 0 N이 주어졌을 때, 원점에서 보이는 (x,y) 좌표의 개수를 출력하시오. (0 입력첫째 줄에 테스트 케이스의 개수 C(1출력각 테스트 케이스에 대해 한 줄에 하나씩 (0,0)에서 보이는 점(x,y)의 개수를 출력한다.예제 입력 1 복사4245231예제 출력 1 복사5132132549    (0,0).. 2025. 4. 2.
2609: 최대공약수와 최소공배수 문제두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.입력첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000이하의 자연수이며 사이에 한 칸의 공백이 주어진다.출력첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.예제 입력 1 복사24 18예제 출력 1 복사672  유클리드 호제법은 a,b가 최대공약수가 있을때, a를 b로 나눈 나머지는 같은 최대공약수로 나누어 떨어져야 한다는 공식입니다. 최대공약수로 나누면 나누어떨어지니까요.증명)G가 최대공약수일때,A= Bq +R, R =A-Bq이므로 R =Ga-Gbq로 정리할 수 있습니다. R= G(a-bq)이므로 R는 G로 나누어집니다.GCD(a, b) = .. 2025. 4. 2.
2343: 기타레슨 강토는 자신의 기타 강의 동영상을 블루레이로 만들어 판매하려고 한다. 블루레이에는 총 N개의 강의가 들어가는데, 블루레이를 녹화할 때, 강의의 순서가 바뀌면 안 된다. 순서가 뒤바뀌는 경우에는 강의의 흐름이 끊겨, 학생들이 대혼란에 빠질 수 있기 때문이다. 즉, i번 강의와 j번 강의를 같은 블루레이에 녹화하려면 i와 j 사이의 모든 강의도 같은 블루레이에 녹화해야 한다.강토는 이 블루레이가 얼마나 팔릴지 아직 알 수 없기 때문에, 블루레이의 개수를 가급적 줄이려고 한다. 오랜 고민 끝에 강토는 M개의 블루레이에 모든 기타 강의 동영상을 녹화하기로 했다. 이때, 블루레이의 크기(녹화 가능한 길이)를 최소로 하려고 한다. 단, M개의 블루레이는 모두 같은 크기이어야 한다.강토의 각 강의의 길이가 분 단위(.. 2025. 4. 2.
2512: 이진탐색 - 예산 문제국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것이다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정한다.모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정한다.모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한액을 계산하여 그 이상인 예산요청에는 모두 상한액을 배정한다. 상한액 이하의 예산요청에 대해서는 요청한 금액을 그대로 배정한다. 예를 들어, 전체 국가예산이 485이고 4개 지방의 예산요청이 각각 120, 110, 140, 150이라고 하자. 이 경우, 상한액을 127로 잡으면, 위의 요청들에 대해서 각각 120, 110,.. 2025. 3. 28.
2805: 이진탐색- 나무 자르기 https://www.acmicpc.net/problem/2805 문제상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기를 이용해서 나무를 구할것이다.목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자. 상근이가 .. 2025. 3. 26.
240304. 정올 파이썬 리스트3 1. 리스트 생성 1)리스트 내포 [ 요소 for i in range(10) ] 이런 식으로 리스트 내포를 사용해 리스트를 생성 할 수 있습니다. list(요소 for i in range(10)) 이런 식으로 사용하는 방법도 있지만 보통 list(range(10)) 형태로 많이 사용합니다. 2) 리스트 연산 리스트는 문자열처럼 곱셈을 이용해 반복되는 요소를 저장하거나 덧셈으로 합칠 수 있습니다. 리스트의 합병과 반복 두개의 리스트를 합칠 때는 연결 연산자인 + 연산자를 사용할 수 있다. >>> list1 = [1, 2, 3] >>> list2 = [4, 5. 6] >>> list = list1 + list2 >>> list [1, 2, 3, 4, 5, 6] 리스트를 반복하는 것은 반복 연산자인 * 를 사.. 2024. 3. 7.