분류 전체보기150 [백준] 팩토리얼 0의 개수 (C++) KeyN은 최대 500이고, 500!을 감당할 수 있는 자료형이 없다. 따라서 직접 팩토리얼 수를 계산하는 방식을 사용할 수 없다.0의 하나면 10의 배수라는 뜻이다. 10은 2*5이다. 100은 2*2*5*5이다. 즉, 0의 개수는 2와 5 쌍의 개수와 같다는걸 알 수 있다. 10!을 예로 들면, 10! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 이다. 여기서 2의 배수는 총 5개, 5의 배수는 총 2개. 따라서 결과값 뒤에는 00이 붙어있을 것이다. 계산기로 계산해보면 3628800이므로 0 두개가 맞다. IdeaN을 이루고 있는 2와 5쌍 개수를 세야하는데, 이 때 5의 배수가 몇개인지만 고려하면 된다. 왜냐하면 2는 모든 짝수에 포함되기 때문에 어떤 수라도 무조건.. 2024. 7. 16. [백준] 9663. N-Queen (C++) Key퀸은 상,하,좌,우, 대각선으로 칸 개수와 상관없이 이동할 수 있다. 따라서 한 행에는 퀸이 하나만 있어야하고 열도 마찬가지다. 따라서 N*N 체스판에 N개의 퀸을 놓는다는 건 모든 행에 하나의 퀸이 있어야된다는 것이다. Idea같은 로직을 여러번 반복하며 조건에 맞는걸 찾는다는 점에서 백트래킹이라는 것을 눈치챘다.처음엔 N*N 배열을 만들어서 풀어야하는건가 했지만, row[열]에 행 값을 할당하는 방식으로 1차원으로 풀었다. 1. 재귀함수 check은 행에 퀸을 놓는다.2. check는 현재 행을 인자로 받아 모든 열에 퀸을 놓는다.3. 퀸을 놓을 수 있는 경우 다음 행으로 check를 재귀호출한다.4. N개의 퀸을 모두 넣었다면 (인자값이 N과 같다면) 카운트한다. 바로 이전 행이랑만 검사.. 2024. 7. 16. [백준] 1018. 체스판 다시 칠하기 (C++) Key보드판을 8*8 크기로 탐색을 반복하며 규칙을 찾는 문제시작점이 바뀌어야하는 경우도 생각해야된다. 난 이걸 놓쳐서 한 번 틀렸다. Idea전체 크기 중 8*8만 탐색해야한다. 예를 들어 보드판 사이즈가 9*9라고 하면 다음과 같이 네번 탐색한다. 이때 시작점은 (0,0) (0,1) (1,0) (1,1) 이다. 이를 일반화해보면 시작점이 될 수 있는 범위는 (0~N-8, 0~M-8) 이 된다. 그리고 탐색 범위는 (시작점~시작점+8)이 된다. 따라서 식을 세워보면 다음과 같다.for (int i=0; i 이제 조건에 맞는지 체크해야하는데, 시작점을 바꿔야 최솟값을 만족할 수도 있다. 따라서 케이스를 시작점을 바꿔야하는 경우와 그렇지 않은 경우로 나누어 생각해야한다. 이 그림을 보면 시작점은 (0.. 2024. 7. 14. [백준] 1967. 트리의 지름 (C++) Key양의 가중치가 있는 트리가 주어졌을 때 두 노드 사이의 경로 중 가장 긴 경로 구하기노드 개수는 최대 1만개루트 노드는 항상 1번 Idea트리의 지름을 구하는 방법은 다음과 같다.루트 노드에서 가장 먼 노드 A를 찾는다.노드 A에서 가장 먼 노드 B를 찾는다.A와 B 사이의 경로가 트리의 지름이 된다. 이 문제는 DFS를 두번 활용하면 된다. 우선 두 노드 중 첫번째 노드를 구해보자. 편의상 두 노드를 A, B라고 하겠다. A노드는 루트노드에서 가장 먼 노드를 찾으면 된다. 처음에 왜 루트 노드에서 가장 먼 노드가 A가 되는건지 이해를 못했는데, 간선의 가중치가 양의 정수라서 그렇다. 때문에 거치는 간선 개수가 많아질 수록 경로 길이도 길어진다. 따라서 말단 노드 중 하나가 A 노드일 확률이 높고,.. 2024. 7. 14. vscode에서 플러터 개발할 때 디버깅 눌러도 안드로이드 스튜디오 작동 안하는 문제 문제 상황다른 프로젝트에서는 잘만 되던 안드로이드 스튜디오가 동작하지 않았다. 정확히 말하자면 동작은 하는데 내가 만든 코드가 화면에 안보이고 가상 기기의 배경화면만 보였다. 에러코드도 떴다 안 떴다하고 코드가 매번 바뀌었다.디버깅을 할 때마다 혹은 안드로이드 스튜디오에서 직접 가상기기를 킬때마다 번갈아가며 나왔던 에러들이다. Emulator terminated with exit code -1073741819the emulator process for avd pixel_3_xl_api_30 has terminated.emulator has terminated 시도 및 해결위의 에러들을 검색했을 때 나오는 해결방법은 주로 드라이브 용량 비우기, 환경 변수 설정하기 등이 있는데 나는 모두 해당되지 않았다.. 2024. 7. 2. SSAFY 10기를 마치며 간절히 바라던 싸피에 붙어서 울던게 엊그제 같은데 벌써 수료식이 끝났다. 마음이 허할줄 알았는데 지난 1년간 최선을 다 했기 때문일까? 싸피에 나를 붙여준 면접관님 그리고 1년간 무사히 나를 이끌어주신 프로님, 강사님 그리고 언니 오빠들에게 고마운 마음뿐이다. 기술 블로그라는 취지에 맞게 사적인 이야기들을 최대한 적지 않으려고 노력하는데, 지난 1년의 이야기들은 꼭 기록하고 싶어서 글을 적어본다. 우선 싸피 교육과정을 거치며 만족스러운 부분들에 대해 먼저 말해보려고 한다. 🥑 금전적 지원 - 교육 지원금 130만원SSAFY의 가장 큰 장점이라고 생각한다. 이렇게 말하면 너무 돈을 밝히는 것 같지만 금전적 여유가 있어야 생활에 집중할 수 있는건 사실이다. 싸피에 입과하려면 직장이 없는 상태여야한다. 여기.. 2024. 7. 1. 이전 1 2 3 4 5 6 ··· 25 다음