본문 바로가기

백준 PS일지/Greedy

(5)
[백준/Swift] 2217: 로프 | PS일지 | enumerated().map()에 관해.. 문제 간단한 문제 요약 여러 개의 로프가 있다. 로프를 통해 물체를 들어올리는데 각각의 로프마다 중량이 있고, 병렬로 로프들을 연결할 수 있다. 그 대신 w/k 로 해서 로프들의 중량이 일치하도록 해야 병렬적으로 로프를 물체에 묶어 들어올릴 수 있다. 문제 풀이 정말 어려운 그리디.. 어떻게 풀어야 할지 곰곰이 생각해봤습니다. 1 2 4 7 10 의 로프가 있을 때, "어떻게 최대한의 무게를 들 수 있을것인가?..." 이때 든 의문점은 중량 1의 로프와 중량 10의 로프를 같이 사용해서 물체를 올린다면 (10 + 1) / 2 = 5? 최대한으로 5씩 중량을 나눠서 들 수 있는데, 최대 중량 1짜리가 5를 들 수 있을까? 그럴 수 없을 것 같아서 내린 결론은 1로프와 10 로프를 같이 병렬적으로 사용할 땐..
[백준/Swift] 1789: 수들의 합 | PS일지 문제 간단한 문제 요약 서로 다른 N 개의 자연수의 합이 S일 때, 자연수 N의 최대 값은 얼마일까? 문제 풀이 최대한 많이 서로 다른 자연수를 더해주어 S를 만들어야 합니다. 가장 작은 자연수 1부터 더해가는게 최대한 많은 서로다른 N개의 자연수를 사용할 수 있습니다. 이때 이전 자연수들의 덧셈 + 특정 자연수를 더한 값이 S라면, 서로 다른 자연수는 특정 자연수 개수만큼 존재합니다. 예를들어 S = 3이고 자연수의 덧셈이 1부터 시작한다면, 1. 1+2 = 3 답은 2입니다. 만약 특정 자연수의 덧셈이 S를 초과한다면, 초과한 값 - S를 한 자연수만 빼면 됩니다. 그럼으로 특정 자연수 -1이 답입니다. 예를들어 S = 5이고, 자연수의 덧셈은 1부터 시작합니다. 1 + 2 = 3 3 + 3 = 6..
[백준/Swift] 1541 : 잃어버린 괄호 BOJ_1541.swift 1541 : 잃어버린 괄호/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 1541 : 잃어버린 괄호 / 문제 소개 세준이가 만든 식이다. 여기에 우리가 괄호 "( , ) "를 추가해서 이 식의 값을 최소로 만드는게 이 문제의 핵심이다. 문제에서 주어졌듯 첫번째와 마지막 문자는 숫자이다!! 즉 첫번째가 음수인 경우를 신경써 주지 않아도 된다. 연속해서 2개 이상의 연산자도 나타나..
[백준/Swift] 1946 : 신입 사원 BOJ_1946.swift 1946 : 신입 사원/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1946 1946번: 신입 사원 첫째 줄에는 테스트 케이스의 개수 T(1 ≤ T ≤ 20)가 주어진다. 각 테스트 케이스의 첫째 줄에 지원자의 숫자 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개 줄에는 각각의 지원자의 서류심사 성 www.acmicpc.net 1946 : 신입 사원 / 문제 소개 진영 주식회사에서 신입사원을 뽑는다. 지원자는 N명이고 각 지원자 마다 서류심사 성적, 면접 시험 성적이 주어진다. 신입사원 채용 은 최대한 많이 하려고한다. 어떤 지원자 A의 성적이 다른 지원자 B의 성적(서류, 면접) 중 하나가 높거나 둘다 높다면 채용..
[백준/Swift] 1931 : 회의실 배정 BOJ_1931.swift 1931 : 회의실 배정/ 문제 소개 풀이 과정 코드 구현 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 1931 : 회의실 배정 / 문제 소개 회의실은 단 한개. N개의 회의 중 최대 개수를 찾는 문제이다. N개의 회의가 있다. 회의는 한번 시작하면 중단x. 회의가 끝나자 마자 다음 회의가 시작될 수 있다. 회의 시작시간과 끝 시간이 같을 수 있다. 풀이 과정 Greedy문제로 이 문제를 풀었다. 간단하게 소개하자면 특정 순간에 당장 눈앞에 보이는 최적의 상황을 찾아 최종적인 해답에 도달하는 알고리즘 그리디 알고리즘을 어떻게 적용..