Coding Test/Greedy 3

[Greedy] 구명보트

https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코딩테스트를 볼 때, 가장 중요한 건 문제를 정확히 파악하는 것입니다. "구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없다"라는 문구를 제대로 못 봐서 많이 헤맸습니다.. "구명보트" 문제는 people 리스트를 정렬한 후 최댓값과 최솟값을 더해서 limit을 초과하는지 판단 후 구명보트의 최소 개수를 구하면 됩니다. def solution(people, limit): answer = 0 ..

Coding Test/Greedy 2023.09.07

[Greedy] 조이스틱

https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 조이스틱 상하 방향은 원형 큐나 아스키코드 변환하는 함수인 ord()를 이용하여 쉽게 계산할 수 있습니다. '조이스틱'문제는 'A'문자열이 존재할 때, 좌우 방향을 최소화 하는 것이 핵심입니다. 사실, 이 문제는 연속된 'A'문자열 중 최소 이동 횟수를 계산해야 하기 때문에 가장 작은 또는 큰 값을 계속 선택해 나가는 그리디보다는 완전 탐색에 가깝습니다. 코드는 다른 사람의 풀이를 참조했습니다. ..

Coding Test/Greedy 2023.09.06

[Greedy] 체육복

https://school.programmers.co.kr/learn/courses/30/lessons/42862 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제한사항 중 "여벌 체육복을 가져온 학생이 체육복을 도난당했을 수 있습니다. 이때 이 학생은 체육복을 하나만 도난당했다고 가정하며, 남은 체육복이 하나이기에 다른 학생에게는 체육복을 빌려줄 수 없습니다."가 있기 때문에 lost와 reserve 리스트 중 중복되는 부분을 먼저 삭제하고, answer 값을 n - len(lost)로 초기화합니다. 이후에 체육복을 빌려줄 수 있는지 if r - 1 =..

Coding Test/Greedy 2023.09.05