250717

lililllilillll·2025년 7월 17일

개발 일지

목록 보기
235/350

✅ 한 것들


  • AtCoder
  • R&D : Fishnet


⚔️ Atcoder


AtCoder Beginner Contest 414

C - Palindromic in Both Bases

#include<iostream>
#include<string>
#include<algorithm> // reverse에 필요
using namespace std;
typedef long long ll;

ll a, n;

bool IsPalin(string& s)
{
	// 모르고 있었음
	return equal(s.begin(), s.begin() + s.size() / 2, s.rbegin());
}

bool Check(ll& num)
{
	ll temp = num;
	string abase;
	while (0 < temp)
	{
		abase += to_string(temp % a); // 떠올리지 못함
		temp /= a;
	}

	return IsPalin(abase);
}

int main()
{
	cin >> a >> n;
	ll res=0;
	for (ll i = 1; ; i++)
	{
		string left = to_string(i);
		string right = left;
		reverse(right.begin(), right.end()); // 모르고 있었음

		ll num1 = stoll(left + right);
		left.pop_back(); // left 대신 right 사용해버렸음
		ll num2 = stoll(left + right);

		if (n < num1 && n < num2) break; // 떠올리지 못함
		if (Check(num1) && num1 <= n) res += num1;
		if (Check(num2) && num2 <= n) res += num2;
	}

	cout << res;
}

답지 베낌.

  • n만큼 자리수가 줄어들면 10의 n승만큼 경우의 수가 나눠진다
  • 숫자 x의 회문 개수는 최대 루트 x
  • reverse(right.begin(), right.end());로 문자열 뒤집기 가능
  • equal(s.begin(), s.begin() + s.size() / 2, s.rbegin());로 숫자 문자열 회문인지 판별 가능


🛠️ R&D : Fishnet


튜토

SyncVar로 색깔 싱크

  • public readonly SyncVar<Color> 변수 선언. readonly지만 get set 가능.
  • syncVar color의 OnChange에 색깔 바꾸는 메서드 구독.
  • 큐브 만든 후에 Spanw() 전에 syncVar color 바꾸면 연결된 클라에도 색깔 바뀐다

카메라 세팅

멀티 플레이에서 카메라 설정은 복잡해보이지만, 실은 로컬 플레이어 하나 당 카메라 한 개만 있으면 된다.
1. 로컬 카메라 생성
- 메인 카메라를 프리팹화한다
- 플레이어 프리팹에 카메라 위치용 빈 게임 오브젝트 생성
- OnStartClient에서 isOwner라면 Instatiate하는 스크립트 추가
- OnStartClient : 이 오브젝트가 생성될 때 클라에서 한 번 실행됨
2. 씬 카메라 이용
- 메인 카메라에 MainCamera 태그 확인
- 플레이어 프리팹에 카메라 위치용 빈 게임 오브젝트 생성
- OnOwnershipClient에서 IsOwner라면 Camera.main을 설정하는 스크립트 추가
- OnOwnershipClient : ownership 얻거나 잃을 때 호출됨
3. 시네머신 기본 설정법
- 메인 카메라에 시네머신 브레인 추가
- 플레이어 프리팹에 카메라 위치용 빈 게임 오브젝트 생성하고 Cinemachine Camera 컴포넌트 추가
- OnStartClient에서 cinemachineCamera.enabled = IsOwner;하는 스크립트 추가



profile
너 정말 **핵심**을 찔렀어

0개의 댓글