임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
입출력 예
n | return |
---|---|
121 | 144 |
3 | -1 |
using System;
public class Solution
{
public long solution(long n)
{
double x = Math.Sqrt(n);
long answer = 0;
if (x % 1 == 0)
{
answer += ((long)x + 1) * ((long)x + 1);
}
else
{
answer -= 1;
}
return answer;
}
}
Math.Sqrt() 메서드를 활용하여 해결하였다.
오후 1시에 제출을 했고 해설 영상을 보며 수정한 사항을 적어보려 한다.
로컬에 저장된 프로젝트를 수정하면 할 때마다 깃허브 내부 폴더에 붙여넣기를 해야 하는 건가.. 하면서 불편해하고 있었는데 그냥 유니티 허브에 깃허브 내부의 프로젝트를 추가해주면 바로바로 적용이 되었다!
기존에는 가만히 있을 때의 애니메이션만 있었지만 캐릭터의 이동 시 걷는 애니메이션을 추가하였다.
Animator에 가만히 있을 때의 Player 애니메이션, 걸어다닐 때의 PlayerRun 애니메이션을 추가하고 서로 Transition을 연결해 준다.
그리고 Parameters에 bool 추가 후 Player -> PlayerRun은 true, 반대는 false로 설정
// 애니메이션 전용 스크립트 작성
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class AssignmentPlayerAnimation : MonoBehaviour
{
PlayerInputController controller;
[SerializeField] private Animator anim;
private void Awake()
{
controller = GetComponent<PlayerInputController>();
}
void Start()
{
controller.OnMoveEvent += AnimState;
}
void AnimState(Vector2 dir)
{
anim.SetBool("Run", dir.magnitude > 0);
}
}
Player에 스크립트 연결 후 Anim에 Animator를 연결시켜 주면 완성 !
해설 강의를 보니 기존 강의에서 이해를 못하고 넘어갔던 부분들을 자세히 설명해주셔서 너무 좋았다. 그리고 과제를 하며 느낀 점은 지금까지는 필수구현만 항상 생각했었는데 선택 구현도 어느정도는 도전해야 실력의 발전이 있겠구나 싶었다. . . 앞으로는 실패하더라도 도전해 볼 생각이다.