재귀함수 3

[프로그래머스] 월간 코드 챌린지 시즌3 빛의 경로 사이클 with Swift

안녕하세요. 오늘은 프로그래머스 빛의 경로 사이클 문제를 풀어보겠습니다! 빛의 경로 사이클 문제는 각각의 포인트에 대하여 모든 방향으로 지나갔는지 안 지나갔는지 확인하면서 경로의 길이를 측정하면 되는 문제입니다! 문제를 위와 같이 간소화 할 수 있는 이유는 지나간 길은 다시 돌아와 지나가기 때문에 같은 사이클이기 때문입니다. 그러기 위해서 isVisited와 Map을 만들어줍니다! x = grid[0].count y = grid.count for i in 0.. Int { if isVisited[startY][startX][startDirection] != 0 { return 0 } isVisited[startY][startX][startDirection] = 1 let nextDirection = re..

[프로그래머스] 약수의 개수와 덧셈, 3진법 뒤집기

안녕하세요! 오늘은 프로그래머스의 약수의 개수와 덧셈, 3진법 뒤집기 두문제를 풀었습니다! 둘다 문제가 간단해 한번에 포스팅하려고 합니다! ㅎㅎ 1. 약수의 개수와 덧셈 약수의 개수와 덧셈 문제입니다. 우선 약수의 개수를 구해야하죠? 약수의 개수를 구하는 함수를 구현하였는데요. 약수를 찾는 법은 간단하게는 모듈로 연산자를 이용해서 구할수 있는데요! 자신보다 작거나 같고 1보다 같거나 큰 수 중 모듈로 했을때 0이면 약수입니다! 이렇게 함수를 만들고 for문 내부에서 if-else문으로 answer에 더할지 뺄지 결정하면 됩니다! #include #include #include int calcFactorCount(int number) { int result = 0; for (int i = 1; i

[프로그래머스]코딩테스트 연습 Summer/Winter Coding(~2018) 소수 만들기

안녕하세요! 오늘은 프로그래머스 소수만들기를 풀어봤습니다! 레벨 1인데 30분이나 걸려 버렸네요 아직 초보인가봐요 ㅠㅠㅠ 우선 소수인지 확인하는 함수는 굉장히 쉽습니다! 보통 자기와 1을 제외한 수로 나눴을때 딱떨어지지 않으면 소수인데요! 굳이 다나눠볼 필욘없고 자기/2 + 1 까지만 나눠봐도 확인이 가능합니다! 다들 이유는 아실거라고 생각할게요! 그리고 재귀함수를 이용해서 중복없이 숫자를 만들어야하는데요 이부분에서 자꾸 에러가 발생해 오래걸렸습니다 ㅠㅠㅠ 원래는 함수 인자도 두개였는데 제가 능력이 모자라 4개까지 늘어버렸네요 ㅠㅠㅠ 벡터도 사실 포인터로 가져가는게 좋지만 귀찮아서... ㅎㅎ 죄송합니다! 코드 한번 같이 보시죠! #include #include using namespace std; vec..