Code KATA
어제 풀었던 알고리즘 문제를 블로그에 정리하지 못해 오늘 풀이를 정리하였다.
https://iiblueblue.tistory.com/194
[2025.01.30] 기사단원의 무기
문제 설명숫자나라 기사단의 각 기사에게는 1번부터 number까지 번호가 지정되어 있습니다. 기사들은 무기점에서 무기를 구매하려고 합니다. 각 기사는 자신의 기사 번호의 약수 개수에 해당하
iiblueblue.tistory.com
정리를 하지 않고 넘어가기엔 많은 것들을 배워서 꼭 정리하고 싶었다.
첫째, num의 약수를 구할 때 약수의 개수를 구하기 위한 반복문은 0~num까지가 아니라 0~num/2까지만 돌리고 +1을 해주면 된다. 자세한 내용은 위 글에 자세히 적어 놓았지만 약수를 오름차순으로 정렬하여 놓았을 때 num 자기자신보다 하나 작은 수는 num/2보다 작거나 같다. 따라서 num까지 반복문을 돌려서 약수를 찾을 필요가 없다.
둘째, 문제 풀이를 할 때 함수로 기능을 빼서 사용하면 시간 초과 에러가 발생할 수 있다. 같은 내용인데 함수로 빼서 solution을 깔끔하게 적으려고 했다가 시간초과 오류로 고생하였다. 그대로 같은 코드를 solution으로 옮겨왔을 때는 바로 해결되는 것을 경험했다. 앞으로는 시간 초과 오류가 나면 이 부분도 의심해봐야겠다.
그리고 오늘 치의 알고리즘 코드카타를 풀이하고 정리하였다
https://iiblueblue.tistory.com/195
[2025.01.31] 로또의 최고 순위와 최저 순위
문제 설명로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다.순위당첨 내용16개 번호가 모두 일치25개 번
iiblueblue.tistory.com
문제 내용이 복잡해 보이지만 사실 구현하려고 하면 간단하게 구혀할 수 있었다. count() 함수와 count_if() 함수에 대해서도 처음 알아서 함께 정리하였다.
Quest
[6번 과제] 회전 발판과 움직이는 장애물 퍼즐 스테이지- [7번 과제] Pawn 클래스로 3D 캐릭터 만들기 ◀
7번 과제를 시작했다. 저번 시간에 찾은 다양한 에셋들 중 나무 비행기 모양의 에셋을 선택하여 진행하였다.
시작부터 에셋이 FBX 형태가 아닌 블렌더에서 열수 있는 블렌더 파일이어서 고생을 좀 했다. 어떻게 FBX로 뽑아내는지 그리고 어떻게 언리얼 안으로 불러와야 합쳐져서 불러와지는지 찾아보며 해결해나갔다.
오늘은 우선적으로 필수 과제와 도전 과제의 첫 번째를 수행하고 시간이 남으면 중력을 구현해보려고 했다. 이전에 배웠던 것들을 떠올리며 어느정도 구현하였는데 확실히 xyz 모든 축을 다 사용하니 조금 다른 부분들이 있었다. 이 부분에 대해서는 나중에 따로 글을 작성할 예정이다.
어느정도 목표하던 것을 구현하였지만 결국 마지막까지 해결하지 못하고 다음을 기약한 부분이 있다. 바로 화면의 회전이다. 마우스의 움직임에 따라 화면과 비행기를 함께 회전하게 하고 싶었는데 결론적으로는 이상하게 동작하여 실패하였다. 아마 이전에 사용하던 이미 만들어진 함수를 해결하면 해결될 것 같지만 AddActorLocalRoatation() 함수를 사용해서 구현하려다보니 그대로 구현이 잘 되지 않아 아직 고민이 많다. 카메라가 항상 비행기의 뒤통수를 봐주었으면 좋겠는데 카메라는 따로 돌아가는 느낌이라 자꾸 비행기가 화면에서 벗어난다. 이 부분은 다음에 이어서 해결해볼 예정이다.
'TIL' 카테고리의 다른 글
2025.02.04(화) (0) | 2025.02.04 |
---|---|
2025.02.03(월) (0) | 2025.02.03 |
2025.01.29(수) (0) | 2025.01.29 |
2025.01.28(화) (0) | 2025.01.28 |
2025.01.27(월) (0) | 2025.01.27 |