프로그래밍 공부

프로그래밍 700

카테고리 설명
  • 문제 설명 직각삼각형이 주어졌을 때 빗변의 제곱은 다른 두 변을 각각 제곱한 것의 합과 같습니다. 직각삼각형의 한 변의 길이를 나타내는 정수 a와 빗변의 길이를 나타내는 정수 c가 주어질 때, 다른 한 변의 길이의 제곱, b_square 을 출력하도록 한 줄을 수정해 코드를 완성해 주세요. 제한사항 1 ≤ a > a >> c; int b_square = c*c - a*a; cout

  • 문제 설명 주어진 초기 코드는 변수에 데이터를 저장하고 출력하는 코드입니다. 아래와 같이 출력되도록 빈칸을 채워 코드를 완성해 주세요. 출력 예시 Spring is beginning 13 310 문제 해설 해설은 필요없이 글자를 읽을 수 있는지 아닌지 테스트하는 문제이다. 첫 번째 시도 #include using namespace std; int main(void) { string msg = [빈칸]"Spring is beginning"; int val1 = [빈칸]3; string val2 = [빈칸]"3"; cout

  • 파이어볼을 만든걸 손에서 들었을 때 활성화하고, 그걸 응용해서 같은 방식으로 동작하는 아이스볼 을 생성해보자. FireBall 정리 우선 BPThorw_Skill과 Fireball을 분리해서, 내가 들고있는 무기의 정의가 FireBall인지 IceBall인지 확인하고, 해당 무기일경우의 IceBall과 FireBall로 파티클을 재정의해주어야 한다. 즉, ThrowSkill을 기준으로 FireBall과 IceBall이 만들어지며, 파이어볼의 파티클, 아이스볼의 파이클을 ThrowSkill에서 가져와 사용한다고 이해하면된다. 만약, FireBall자체를 스킬로 정의하고, 자체를 상속받아 사용하게 하여 객체관계를 좀 더 깔끔하게 정의할 수도 있을것이다. FIreBall과 IceBall은 ThrowSkill에..

  • 문제 설명 어떤 게임에는 붕대 감기라는 기술이 있습니다. 붕대 감기는 t초 동안 붕대를 감으면서 1초마다 x만큼의 체력을 회복합니다. t초 연속으로 붕대를 감는 데 성공한다면 y만큼의 체력을 추가로 회복합니다. 게임 캐릭터에는 최대 체력이 존재해 현재 체력이 최대 체력보다 커지는 것은 불가능합니다. 기술을 쓰는 도중 몬스터에게 공격을 당하면 기술이 취소되고, 공격을 당하는 순간에는 체력을 회복할 수 없습니다. 몬스터에게 공격당해 기술이 취소당하거나 기술이 끝나면 그 즉시 붕대 감기를 다시 사용하며, 연속 성공 시간이 0으로 초기화됩니다. 몬스터의 공격을 받으면 정해진 피해량만큼 현재 체력이 줄어듭니다. 이때, 현재 체력이 0 이하가 되면 캐릭터가 죽으며 더 이상 체력을 회복할 수 없습니다. 당신은 붕대감..

  • 9.3 부모를 존중하라 파생 클래스를 작성할 때는 베이스 클래스와의 연동을 고려해야 한다. 생성 순서, 생성자 체이닝, 캐스팅 같은 부분은 모두 잠재적인 버그의 온상이다. 9.3.1 부모의 생성자 객체는 그냥 생성될 수 없다. 베이스 클래스와 그에 속한 객체들이 함께 생성되어야 한다. C++는 생성 순서를 다음과 같이 정하고 있다. 클래스가 베이스 클래스를 가졌으면 베이스 클래스의 디폴트 생성자가 실행된다. 단, 파생 클래스의 생성자 초기화 리스트에서 명시적으로 베이스 클래스의 특정 생성자를 호출하고 있다면, 그 생성자가 호출된다. static이 아닌 클래스 맴버들이 선언 순서에 맞춰 생성된다. 클래스의 생성자 바디가 실행된다. 이러한 생성 순서는 재귀적으로 적용된다. 만약 클래스가 조부모를 가졌으면, ..

  • 문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot","dot","dog","lot","log","cog"]라면 "hit" -> "hot" -> "dot" -> "dog" -> "cog"와 같이 4단계를 거쳐 변환할 수 있습니다. 두 개의 단어 begin, target과 단어의 집합 words가 매개변수로 주어질 때, 최소 몇 단계의 과정을 거쳐 begin을 target으로 변환할 수..