99클럽 코테 스터디 8일차 TIL + 재귀…함수…

Yellta·2024년 5월 27일
0

TIL

목록 보기
11/73

1. Subject : 아직도 어려운 재귀함수

1. What I learn?

재귀함수를 이용해서 사분면? 관련 그래프를 푸는 방법을 알아보았다.

int func(int n, int r, int c) {
  if (n==0)return 0;
  int half = 1<<(n-1);
  if(r< half && c<half) return func(n-1,r,c);
  if(r< half && c>= half)return half*half + func(n-1,r,c-half);
  if(r>= half && c<half) return 2*half*half + func(n-1,r-half,c);
  if(r>=half && c>=half) return 3 * half*half + func(n-1,r-half,c-half);
}

int main(void){
  ios::sync_with_stdio(0);
  cin.tie(0);

  int n,r,c; cin >> n>>r>>c;
  cout << func(n,r,c);
}

백준 Z

2. What I know

사실 아직까지 완벽하게 알지는 못한다.

재귀를 이용해서 사분면을 탐색할때에는

행, 열, 사이즈(x^n 의 형태로 제공)

2분면일때는 c-half를 해야한다.

half가 의미하는 것은 이제 사분면을 쪼개는 기준? 만약에 사분면의 생기는 기준이 2^n이라고 가정하고 n이 3이라고 가정하면

그 다음 쪼개는 기준은 2^2가 된다. 4*4사이즈의 박스로 나누고 해당 안 쪽엔 16개의 데이터가 들어갈 수 있는 형태가 된다.

5. Review

재귀함수는 풀면 풀수록 어렵다… 너무 싫…다…


이제 이번주 수요일만 지나면 공부에 집중할 수 있게 된당. 빨리 지나갔으면 좋겠따


#99클럽 #코딩테스트 준비 #개발자 취업 #항해99 #TIL

profile
Yellta가 BE개발해요! 왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜왜 가 제일 중요하죠

0개의 댓글