2024/02 58
-
문제 설명 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 50kg]이고 구명보트의 무게 제한이 100kg이라면 2번째 사람과 4번째 사람은 같이 탈 수 있지만 1번째 사람과 3번째 사람의 무게의 합은 150kg이므로 구명보트의 무게 제한을 초과하여 같이 탈 수 없습니다. 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다. 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 return 하도록 solution 함수를 작성해주세요..
-
문제 설명 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,000 이하인 자연수입니다. prices의 길이는 2 이상 100,000 이하입니다. 입출력 예 prices return [1, 2, 3, 2, 3] [4, 3, 1, 1, 0] 문제 해설 떨어지지 않은 기간이 몇 초 인지 계산하는 것 이 아니라, 해당 가격대에 도달했는지 여부를 물어보는 것 이다. 예를들어 첫번째 가격이 1 이라고 했을 때, 모든 가격을 통틀어서 1이 된적이 없음으로, 1은 모든 배열의 사이즈값에 자기자신을 뺸 값을 가진다. 두번째는 2인데, 자기자신 이후부..
-
9. 클래스 상속 활용 테크닉 상속이 없다면 클래스는 단지 특정 기능에 연관된 데이터 구조에 지나지 않는다. 물론 그것만으로도 절차적 프로그래밍 언어보다 크게 진보된 것 이지만 상속이 추가됨으로써 아주 새로운 지평을 열었다. 상속을 이용하면 이미 존재하는 클래스를 기반으로 새로운 클래스를 만들 수 있다. 이러한 방식으로 클래스는 재사용할 수 있고 확장 가능한 컴포넌트가 된다. 9.1 상속을 통한 클래스 생성 is-a관계를 배우면서 실 세계의 객체들이 is-a패턴의 계층을 가진다는 것을 살펴봤다. 프로그래밍에서 is-a 관계는 어떤 클래스를 기반으로 다른 클래스가 존재할 떄 적용된다. 이것을 구현하는 방법으로 원본 클래스의 코드를 복제하여 적절하게 일부를 바꾸거나 추가해서 새로운 클래스를 만들 수 있다. ..
-
이전에 하였던 인터페이스 정리를 이번에는 다른 무기 또한 정렬해서 사용하도록 해보자. 항목별 정리 각 항목을 콘텐츠-> 폴더생성 을 통해 항목당 어울리는 폴더로 이동시켜 정리한다. BP_HandFIreball BP_Player에서 사용했던 interface와 BP_Weapon, BP_HandFireball을 사용하여 Wizard를 정리할 것 이다. 우선, 공격시 사용할 무기를 전환해야 함으로, 파이어볼 과 Sword는 같은 BP_Weapon을 상속받아 사용해야 한다. 정의된 파이어볼의 상속부모를 BP_Weapon으로 설정해주고 이름을 바꾸어주자. HandFireball에는 이제 이펙트를 정의하지 않고, 무기 라는 개념을 가지는 Sword와 같은 개념으로 사용한다. 커스텀 이벤트로, OnSelelcted를..
-
문제 설명 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. word result "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 문제 해설 완전탐색이 아니라 그냥 규칙을 찾아서 데이터를 정리하고 도출시키면 끝난다. 크게..
-
문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가 오늘 이 던전들..