for문을 사용하지 않고 재귀함수를 이용한 문자열의 길이 계산 아래 이미지와 같이 전체 문자열의 길이는 첫째 글자를 제외한 전체 길이에 +1을 한 것과 같다.이를 통해 재귀함수를 호출 하여 길이값을 구하는 함수에 1을 더해주면 전체 문자열의 길이를 구할 수 있다 ※ 풀이 public class Recursion2 { public static void main(String[] args) { // TODO Auto-generated method stub int len = length("Abc"); System.out.println(len); } public static int length(String str){ if(str.equals("")){ return 0; }else{ return 1+length(s..
알고리즘&코딩테스트
문제 출처:https://www.hackerrank.com ※ 문제 어떤 자연수 N이 있을 때, N의 팩토리얼은 아래와 같다 N!= N x (N-1) x (N-2) x (N-3) x --- x 3 x 2 x 1 예를 들어 N이 25일 때 팩토리얼 값은 15511210043330985984000000 이다 참고로 N>20 인 경우 BigInteger를 사용해야만 가능하다 입력 받는 숫자의 팩토리얼을 구하라. ※ 풀이1 재귀함수를 통해 구현한다. ※ 소스코딩1 public class Solution { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(); System.out.print..
문제 출처 : 넥슨입사문제 ※ 문제 어떤 자연수 n이 있을 때, d(n)을 n의 각 자릿수 숫자들과 n 자신을 더한 숫자라고 정의하자. 예를 들어 d(91) = 9 + 1 + 91 = 101 이 때, n을 d(n)의 제네레이터(generator)라고 한다. 위의 예에서 91은 101의 제네레이터이다. 어떤 숫자들은 하나 이상의 제네레이터를 가지고 있는데, 101의 제네레이터는 91 뿐 아니라 100도 있다. 그런데 반대로, 제네레이터가 없는 숫자들도 있으며, 이런 숫자를 인도의 수학자 Kaprekar가 셀프 넘버(self-number)라 이름 붙였다. 예를 들어 1,3,5,7,9,20,31 은 셀프 넘버 들이다. 1 이상이고 5000 보다 작은 모든 셀프 넘버들의 합을 구하라. ※ 풀이 위의 문제를 풀기..
문제 출처 : https://programmers.co.kr ※ 문제 직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다. 제한사항v는 세 점의 좌표가 들어있는 2차원 배열입니다.v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다.좌표값은 1 이상 10억 이하의 자연수입니다.직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 [x축 ..