프로그래밍 공부

2024/02/14 5

카테고리 설명
  • 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이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가 오늘 이 던전들..

  • 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있고 무게를 10kg까지 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 경과 시간 다리를 지난 트럭 다리를 건너는 트럭 대기 트럭 0 [] [] [7,4,5,6] 1~2 [] [7] [4,5,6] 3 [7] [4] [5,6] 4 [7] [4,5..