๐พ ์ฝ๋
using System;
using System.Collections.Generic;
public class Solution {
public int solution(int n) {
Stack<int> ternary = Converter(n, 3);
//n์ 3์ง๋ฒ์ผ๋ก ๋ณํ
int answer = 0;
int size = 1; // ์๋ฆฟ์ ๊ณ์ฐ์ฉ ๋ณ์ ์ถ๊ฐ
while (ternary.Count > 0) {
answer += ternary.Pop() * size;
//์ ์
ํ์ถ ๊ตฌ์กฐ๋ก์ ๋ง์ง๋ง๋ถํฐ ๊ณ์ฐ(์๋ฆฟ์๋ฅผ ๋ค์ง์ ํ์๊ฐ ์์)
size *= 3;
//3์ง๋ฒ ๊ตฌ์กฐ
}
return answer;
}
public Stack<int> Converter(int num, int size) {
Stack<int> ternary = new Stack<int>();
//์์ ์คํ ์ ์ฅ์ ์์ฑ
while(num > 0) {
int temp = num % size;
ternary.Push(temp);
//3์ง๋ฒ์ ์คํํ์์ผ๋ก ์์
num /= size;
}
//3์ง๋ฒ์ผ๋ก ๋ณํ
return ternary;
}
}
๐พ ์ฝ๋
using UnityEngine;
public class ObjectScanner : MonoBehaviour
{
public Transform playerTransform; // ํ๋ ์ด์ด์ Transform์ ์ค์ ํด์ผ ํฉ๋๋ค.
public float scanRadius = 5f; // ๊ฒ์ํ ๋ฐ๊ฒฝ
void Update()
{
// ํ๋ ์ด์ด ์ฃผ๋ณ์ ๋ชจ๋ Collider2D๋ฅผ ๊ฐ์ ธ์ต๋๋ค.
Collider2D[] colliders = Physics2D.OverlapCircleAll(playerTransform.position, scanRadius);
// ๊ฐ Collider2D์ ๋ํด ์ฒ๋ฆฌ
foreach (Collider2D collider in colliders)
{
// ์ฌ๊ธฐ์์ ์ํ๋ ์ฒ๋ฆฌ๋ฅผ ์ํํฉ๋๋ค.
// ์๋ฅผ ๋ค์ด, ํด๋น ๊ฐ์ฒด์ ํ๊ทธ๋ ๋ ์ด์ด ๋ฑ์ ํ์ธํ์ฌ ์ํ๋ ๋์์ ์ํํ ์ ์์ต๋๋ค.
if (collider.CompareTag("InteractiveObject"))
{
// ์ํธ์์ฉ ๊ฐ๋ฅํ ๊ฐ์ฒด์ ๋ํ ์ฒ๋ฆฌ
}
}
}
}
๐ ์ฐธ๊ณ
์ฐธ๊ณ ํ ์ฝ๋ ๋ด์ฉ