using System;
using System.Collections.Generic;
using System.Linq;
public class Solution
{
public int solution(int n)
{
int answer = 0;
int j = 1;
int k = n;
List<int> list = new List<int>();
if (n / 3 == 0)
{
list.Add(n);
}
else
{
for (int i = 0; k > 0; i++)
{
list.Add(k % 3);
k = k / 3;
}
}
for (int i = list.Count - 1; i >= 0; i--)
{
list[i] = list[i] * j;
j = j * 3;
answer += list[i];
}
// 3진수 -> 10진수 변환
// 21 -> (2 * 3) + 1 = 7
// 100 -> (1 * 3^2) + (0 * 3) + 0 = 9
Console.WriteLine(answer);
return answer;
}
}
어제는 머리가 도저히 돌아가지가 않아서 봐줬지만 오늘 뿌셔버렸다.
우선 10진수 -> 3진수 변환 과정에서 고민이 많았는데 3진수 변환 후 값을 뒤집어야하기 때문에 List를 떠올렸고 입력된 10진수 값을 3으로 나눈 나머지를 List에 Add하는 방식으로 풀어내었다.
그리고 3진수 -> 10진수는 10의자리부터 3의 제곱수를 곱해준 값을 모두 더하면 변환이 이루어진다.
필요한 사항
1. 위의 사항을 점검하고 알맞게 두 스크립트의 수정이 필요해 보인다.
TwoHandedTool을 위한 State를 생성하여 애니메이션을 컨트롤하자.
기존에 Idle에 있던 두 손 도구 체크 함수를 GroundState로 빼서 직관성을 높이자.
팀원분들께 이슈를 공유하니 애니메이션의 트랜지션 순서를 체크해보라 하셨다. 세상에 트랜지션도 순서가 있었넹; 간단히 해결!
TwoHandedTool에 대한 State를 추가하였습니다.
TwinTool에 대한 State를 추가하였습니다.
장착 중인 도구의 타입에 따라 애니메이션이 바뀌게 구현하였습니다.