728x90
반응형
SMALL

BOJ 117

[Python] 1026번 보물

✏️ 문제 문제 파악배열 A를 오름차순, 배열 B를 내림차순으로 배열한 후 각각 곱해주면 제일 쉽게 해결할 수 있으나 배열 B를 재배열하면 안된다는 조건을 넣으면 생각을 좀 해야한다. 배열 A에서 최소값, 배열 B에서 최대값은 max, min 함수를 통해 가져올 수 있다. 그 후 각각의 배열에서 지우면 최소값, 최대값이 갱신되어 계속해서 뽑아낼 수 있을 것이다. 이를 활용하자! 알고리즘수학그리디 알고리즘정렬  코드 배열 B 재배열 가능N = int(input())s = 0A = list(map(int, input().split()))B = list(map(int, input().split()))A.sort()B.sort(reverse=True)for i in range(N): s += A[i]*B[i]..

PS/BOJ 2024.07.14

[Python] 1931번 회의실 배정

✏️ 문제 문제 파악시작하는 시간을 기준으로 회의실을 사용하게 된다면 예제1과 같은 경우 6시간을 사용하게 되어 최대 사용할 수 있는 회의의 최대 개수가 되지 않는다. 그럼  끝나는 시간을 기준으로 회의실을 사용하면사용 중인 회의의 끝나는 시간이 다른 회의의 시작하는 시간과 같거나 작으면 회의실을 또 사용할 수 있게 되므로 이 조건을 기준으로 코드를 짜면 된다. 알고리즘그리디 알고리즘정렬  코드N = int(input())meetings = []result = 0for i in range(N): start, end = map(int, input().split()) meetings.append((end, start))meetings.sort() # end 시간을 기준으로 오름차순 배열# print(..

PS/BOJ 2024.07.14

[Python] 1541번 잃어버린 괄호

✏️ 문제 문제 파악- 기호를 기준으로 나누어서 나눈 값끼리 다 더해주면 - 기호와 붙었을 때 최대로 빼게 되므로 split() 함수를 통해 - 기호를 기준으로 나누어준다.  예제1 같은 경우 + 기호 때문에 숫자 배열에 넣을 수 없으므로 배열에 집어넣으면 ['55', '50+40'] 와 같이 되는데 문자열 내에 + 기호가 있으면 + 기호를 기준으로 나누어 숫자로 타입을 바꾼 후 두 개의 합을 배열에 다시 넣어주고문자열 내에 + 기호가 없으면 그냥 숫자로 타입을 바꾼 후 배열에 다시 넣어준다. 그 후 배열[0] 값에서 뒷 배열의 값을 전부 빼주면 된다. 알고리즘수학그리디 알고리즘문자열파싱  코드str1 = input().split('-')for i in range(len(str1)): if '+' in..

PS/BOJ 2024.07.14

[Python] 2217번 로프

✏️ 문제 문제 파악로프가 버틸 수 있는 중량을 내림차순으로 정렬하면 뒤에 있는 중량은 앞에 있는 중량까지 들 수 없으므로 뒤에 있는 중량을 기준으로 최대 중량을 계산하게 된다. 예제1과 같은 경우 로프가 2개가 있는데 각각 최대 10, 15 중량을 버틸 수 있다.로프 1개만 사용한다면 최대 15만 버틸 수 있는데 로프 2개를 사용한다면 각각 10, 10(최대 15를 들 수 있는 로프를 10까지만 사용하게 됨)으로 최대 20을 버틸 수 있게 된다. 알고리즘수학그리디 알고리즘정렬  코드N = int(input())m = []for i in range(N): m.append(int(input()))m.sort(reverse=True)result = []for j in range(N): result.app..

PS/BOJ 2024.07.14

[JAVA] 4948번 베르트랑 공준

4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) 자연수 n이 주어졌을 때, n보다 크고,..

PS/BOJ 2024.01.30

[JAVA] 1929번 소수 구하기

1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 예제 입력 출력 3 16 3 5 7 11 13 알고리즘 제곱근 반복문으로만 풀어서는 시간 초과로 해결하지 못하고 꼭 에라토스테네스의 체 알고리즘을 사용해야 시간 내에 해결할 수 있다. [JAVA] 소수 구하..

PS/BOJ 2024.01.29
728x90
반응형
LIST