재귀 3

[문제 풀이] Hacker Rank - Crossword Puzzle

HackerRank link Crossword Puzzle 풀이 핵심 십자말 퍼즐에 전부 단어를 넣어 보는 수 외에는 없다. 십자말에 지속적으로 단어를 넣는 과정은 재귀함수를 통하여 구현한다. 알고리즘이 어렵지 않는 문제 유사 문제: Ema's Supercomputer Algorithm 다 풀렸는지 체크 한다. 다 풀렸으면 정답을 리턴한다. Stack으로 부터 넣을 단어를 가져온다. 현재 단어가 들어갈 위치를 구한다. 해당 단어가 넣을 곳이 있다면, 차례 차례 그 단어가 들어갈 위치에 순서데로 단어를 넣는다. 다음 단어를 넣는다. (재귀 호출 과정 1부터 다시) 넣었던 단어 빈 공간으로 다시 원상 복귀 시키고, 다음 위치에 단어를 넣는다. 과정3. 과정 3에서 단어를 넣을 곳이 없다면, stack..

[문제 풀이] Hacker Rank - Recursive Digit Sum

HackerRank link Recursive Digit Sum 풀이 핵심 이름 그대로 재귀 함수를 이용하여 풀이 입력에 k 번 반복의 경우 k번 반복 할 필요 없이 k를 곱하면 간단하게 해결 Algorithm 문자열의 길이가 1이면 구할 필요가 없음. 바로 리턴. 각 문자열의 숫자를 합하고 k를 곱한다. 문자열의 길이가 1이 될때까지 각 문자열의 숫자를 합하여 super digit을 구한다. (재귀함수) Source Code import java.io.*; import java.math.*; import java.security.*; import java.text.*; import java.util.*; import java.util.concurrent.*; import java.util.regex.*..

[HackerRank] The Power Sum - 문제 풀이

HackerRank link The Power Sum 풀이 핵심 모든 수를 더해보면서 X가 어떤 수들의 N제곱의 합인지 확인한다. ex) X = 10, N = 2 (X) X > 1^2 (X) X > 1^2 + 2^2 (X) X < 1^2 + 2^2 + 3^2 (O) X = 1^2 + 3^2 ... Algorithm 처음 입력을 1로 하여 1^N 부터 시작한다. N승한 값을 구한다. 현재까지의 합을 구한다. 맞으면 count 후 리턴 크면 현재까지의 count 값 리턴 작으면 다음 수를 설정하여 과정 2부터 다시 구한다. Source Code import java.io.*; import java.math.*; import java.security.*; import java.text.*; import jav..