[프로그래머스/BFS] 2021 카카오 인턴십 - 거리두기 확인하기
[프로그래머스] 2021 카카오 인턴십- 거리두기 확인하기 안녕하세요, 오늘은 프로그래머스에서 카카오 인턴십 "거리두기 확인하기"를 풀어보았습니다. 예전부터 풀려고 노력했으나 BFS/DFS 개념이 확립되지 않은 상태로 풀려고 하니까 시간도 오래걸리고 헷갈려서 잠깐 보류했던 문제였습니다. 백준에서 BFS/DFS 개념을 숙달하고 풀이해보니까 확실히 쉽게 풀 수 있었던 것 같습니다. 문제 https://programmers.co.kr/learn/courses/30/lessons/81302 코딩테스트 연습 - 거리두기 확인하기 [["POOOP", "OXXOX", "OPXPX", "OOXOX", "POXXP"], ["POOPX", "OXPXP", "PXXXO", "OXXXO", "OOOPP"], ["PXOPX",..
[재귀] 백준 2331 반복수열 풀이
문제 다음과 같이 정의된 수열이 있다. D[1] = A D[n] = D[n-1]의 각 자리의 숫자를 P번 곱한 수들의 합 예를 들어 A=57, P=2일 때, 수열 D는 [57, 74(=52+72=25+49), 65, 61, 37, 58, 89, 145, 42, 20, 4, 16, 37, …]이 된다. 그 뒤에는 앞서 나온 수들(57부터가 아니라 58부터)이 반복된다. 이와 같은 수열을 계속 구하다 보면 언젠가 이와 같은 반복수열이 된다. 이때, 반복되는 부분을 제외했을 때, 수열에 남게 되는 수들의 개수를 구하는 프로그램을 작성하시오. 위의 예에서는 [57, 74, 65, 61]의 네 개의 수가 남게 된다. 입력 첫째 줄에 A(1 ≤ A ≤ 9999), P(1 ≤ P ≤ 5)가 주어진다. 출력 첫째 줄에..