목록CodingTestTraining (34)
승쨩개발공부

2^n * 2^n 인 2차원 배열에 r(행)과 c(열) 을 입력받고 몇 번쨰로 방문했는지 출력하는 문제이다. N = 0일떄 최소갯수는 2x2칸이니 총 4칸이다그럼 1번사각형 위치 2번사각형 위치 3번사각형위치 4번사각형 위치마다 각 값을 리턴받으면 되지않을까? 각 위치에 맞게 재귀식을 짜주면된다 만약 해당 문제가 어려울경우 재귀함수에대한 이해가 부족한거기떄문에 재귀를 기초부터 다시 공부하기 바란다. 국가문화제급 설명을 발견했는데 해당 영상으로 공부하면 좋을것 같다. https://youtu.be/R_UKR1BMPRo

재귀를 안쓰다가 이걸 풀려니까 기억이 안났다 하노이탑의 규칙은 1,2,3번 기둥이 있고 N개의 원판들이 1번원판에 모두 꽃혀있다 이 N개의 원판을 3번 기둥에모두 꽃으면 되는데 큰 원판은 작은원판 위에 올 수 없다. 옮긴 횟수 K를 구하려면N개의 원반이 있으면 1번부터 N-1번 원반까지 모두 2번쨰 기둥에 들어가야한다.N번 원반이 3번기둥에 한번 이동하고 1 ~ N-1번 원반이 2번기둥에서 N번원반이 올려져있는3번기둥으로 이동해야하니 총 이동 횟수는 f(n) = 1 + 2f(n-1)이 된다 즉 (2^n) - 1 번 이동을 하게 된다. 즉N-1개의 원판을 기둥 1에서 기둥 2로 옮긴다N번 원판을 기둥 1에서 기둥 3으로 옮긴다N-1개의 원판을 기둥 2에서 기둥 3으로 옮긴다-> 원판이 n-1개일떄 옮길 수..

0. 수학적 귀납법내가 재귀를 풀떄마다 절차지향적으로 항상 생각했는데, 이젠 수학적 귀납법으로 생각을 해야한다.도미노가있다 그러면 절차지향적 사고와 수학적 귀납법 사고를 생각해보자 1) 절차 지향적 사고1번 도미노가 쓰러지면 2번 도미노도 쓰러지고 2번 도미노가 쓰러지면 3번 도미노도 쓰러진다.1 -> 2 -> 3 -> 4 -> .... 이런식으로 모든 도미노가 쓰러진다 이건 절차지향적인 생각이다. 2) 수학적 귀납법 사고1번 도미노가 쓰러진다 K번 도미노가 쓰러지면 K + 1번 도미노도 쓰러진다.이것이 수학적 귀납법 사고이다. 1. 문제 설명A^B % C (A^B mod C) 를 구하는건데 입력 조건을 보면 A,B,C모두 최대범위가 int의 최대 범위이다즉 약 21억^21억을 한 변수에 담을 수 있을까..

Queue는 Vector나 다른 STL같은 clear함수가 없다. 따라서 Pop으로 다 뺴주거나 재정의를 해줘야한다.

기본 원리는 전에 올렸던 토마토 문제에서 Z축이 추가된 문제이다. 그래서 따로 문제 설명은 하지않고 사용한 함수 설명을 하겠다.pair가 2가지 변수를 대입할 수 있었다면 tuple은 3가지 변수를 대입할 수 있다.tuple은 pair함수처럼 first,second가 없다.따라서 tie 함수를 이용해 각자 값을 새로 대입해야한다. tuple헤더를 추가해주자

나이트는 (2,1),(1,2),(-1,2)(-2,1), (-2,-1),(-1,-2)(1,-2)(2,-1) 을 이동할 수 있다보드판을 직접 입력할 필요는 없고 Check에 이동거리를 q.front에 + 1씩 저장해주면 된다. 첫쨰줄은 테스트케이스 갯수둘쨰줄은 체스판의 한변의 길이 n(정사각형)셋째줄에는 시작 인덱스넷쨰줄에는 목적지 인덱스를 입력 받으면 된다. 어떻게 풀어야하는지 그림을 한번 보자 그냥 전에 풀었던 BFS처럼 시작지점에서 폰 이동범위 마다 거리를 기록해주면 된다.