목록탐욕법 (4)
N

탐욕법으로 문제를 풀어야 한다. 우선 front와 back을 선언하여 각각 0, people.size() - 1을 대입한다. while문을 통해 front

탐욕법을 이용하여 문제를 풀어야 한다..! 우선 변수를 여러 개 선언하였다. string s 는 while문을 탈출하기 위한 조건으로, name을 모두 'A'로 바꿨을 때 탈출하도록 하였다. 그래서 s에는 name 길이만큼 'A'를 넣어주었다. int형 변수로는 name의 길이를 나타내는 size, 현재 인덱스의 위치를 나타내는 current, 오른쪽으로 움직이는 횟수를 나타내는 right, 오른쪽으로 움직였을 때 바꿔야 하는 인덱스를 나타내는 go, 왼쪽으로 움직이는 횟수를 나타내는 left, 왼쪽으로 움직였을 때 바꿔야 하는 인덱스를 나타내는 back 이다. while문으로 name이 모두 'A'로 바꿔질 때까지 반복하도록 한다. 그리고 크게 if문을 잡았는데 현재 name[current]가 'A'인..

탐욕법을 이용한 알고리즘 문제이다..! 우선 limit 변수를 선언하여 number.size() - k 를 대입하였다. while문을 통해 구하고자 하는 큰 수의 size 를 구하기 위함이다..! 그리고 answer.size()가 limit이 될 때 까지 반복하도록 한다. 1) 반복자를 선언하여 number.begin()으로 위치시킨다. 2) k가 1이 아니면 number.begin()부터 k + 1 까지의 수 중 최댓값의 위치를 찾고, k가 1인 경우 number.begin()부터 2 까지의 수 중 최댓값의 위치를 찾아 itr에 넣어준다. (k가 1인 경우는 2개의 숫자만 비교하는 이유는 최악의 경우를 생각해야 하기 때문..!) 3) answer에 최댓값을 넣어주고, number에서는 begin()부터..
점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, 4번 학생은 3번 학생이나 5번 학생에게만 체육복을 빌려줄 수 있습니다. 체육복이 없으면 수업을 들을 수 없기 때문에 체육복을 적절히 빌려 최대한 많은 학생이 체육수업을 들어야 합니다. 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성해주세..