[TIL] 백준 1326 - 폴짝폴짝 ( python )
·
TIL
📌 문제 탐색하기N : 징검다리의 개수arr : 각 징검다리에 쓰여 있는 N개의 정수a, b : a, b번 징검다리 ( N보다 작거나 같은 정수 )개구리가 징검다리에 쓰여 있는 수의 배수만큼 떨어져 있는 곳으로만 갈 수 있으며, a번째 징검다리에서 시작하여 최소 몇 번 점프를 하여 b번째 징검다리까지 갈 수 있는지를 구하는 것이 핵심입니다.N은 최대 10,000입니다.가능한 시간복잡도최악의 경우, 모든 돌에 1이 적혀 있다고 가정하면, 각 돌에서 최대 O(N)개의 후보를 확인해야 합니다.O(N) * O(N) 이라면?10,000² = 100,000,000번의 연산이 발생1초에 약 100,000,000번의 연산을 수행할 수 있으므로 시간안에 탐색을 완료할 수 있습니다.알고리즘 선택시작 노드를 기준으로 거리..
[TIL] 백준 4779 칸토어 집합
·
TIL
문제 : https://www.acmicpc.net/problem/4779참고 강의 : 인프런 - 세계 대회 진출자가 알려주는 코딩테스트 A to Z (with Python) * 오늘의 학습 키워드 : 재귀함수 - 함수 내에서 자기 자신을 호출하는 함수를 의미핵심 개념Base Case(기본 케이스) 와 Recursive Case(재귀 케이스)Base Case : 재귀 함수를 종료하는 부분Recursive Case : 자기 자신을 호출하는 부분풀이 1 : bottom-upans = ['' for _ in range(13)]ans[0] = '-'for i in range(1, 13): ans[i] = ans[i-1] + (' ' * (3 ** (i-1))) + ans[i-1]while True: try: ..