2024/02/06 3
-
문제 설명 계속되는 폭우로 일부 지역이 물에 잠겼습니다. 물에 잠기지 않은 지역을 통해 학교를 가려고 합니다. 집에서 학교까지 가는 길은 m x n 크기의 격자모양으로 나타낼 수 있습니다. 아래 그림은 m = 4, n = 3 인 경우입니다. 가장 왼쪽 위, 즉 집이 있는 곳의 좌표는 (1, 1)로 나타내고 가장 오른쪽 아래, 즉 학교가 있는 곳의 좌표는 (m, n)으로 나타냅니다. 격자의 크기 m, n과 물이 잠긴 지역의 좌표를 담은 2차원 배열 puddles이 매개변수로 주어집니다. 오른쪽과 아래쪽으로만 움직여 집에서 학교까지 갈 수 있는 최단경로의 개수를 1,000,000,007로 나눈 나머지를 return 하도록 solution 함수를 작성해주세요. 제한사항 격자의 크기 m, n은 1 이상 100 ..
-
8.3 메서드의 종류 데이터 멤버에 여러 종류가 있듯이 메서드 또한 여러 종류가 있다. 8.3.1 static 메서드 데이터 멤버의 경우와 마찬가지로 메서드도 특정 클래스의 모든 객체에 공통적으로 적용되어야 할 때가 있다. static 메서드의 선언 방법은 데이터 멤버와 같다. 예를 들어 SpreadSheetCell 클래스의 편의 메서드 stringToDouble() 과 doubleToString()을 생각해보자, 이 두 메서드는 객체에 종속되는 부분이 없다. 따라서 static으로 선언해도 된다. 다음은 이 두 메서드를 static으로 선언한 SpreadSheetCell 클래스 정의이다. static std::string doubleToString(double val); static double str..
-
이제 마법에 관한 애니메이션을 전부 적용하였으니, 공격을 하였을 때, 마법이 발사되고, 마법이 충돌하면 폭발하는 과정을 전부 블루프린트로 구현해보자. Wizard FireBall 만들기 우선, 공격시에 손에 들 고 있던 마법을 발사해야 한다. 이런경우 손에 있는 객체를 발사하는 것 보다는. 그 객체를 꺼버리고 그 위치에서 발사체 객체를 생성하고 발사하는것 이 더 효율적이고 코드도 쉽게 작성된다. 손에있는걸 던졌을 때 는 손에 있는 객체를 꺼버린 뒤에, 새로 생성하면 눈으로 볼 때는 그 손에 있는 객체가 발사된것 처럼 보일 것 이다. Actor로 새로운 객체를 생성해보자. 손에 있던 FireBall 과는 다른 객체를 생성한다. 이 블루프린트는 생성된 뒤에 정면으로 발사되게 만들 것 이다. FIreBall은..