삐까냥의 파도타기

3750. Digit sum 본문

코딩/SW Expert Academy

3750. Digit sum

금손형아 2018. 3. 12. 14:08

난이도는 D3입니다.

근데 문제 자체는 넘나 쉽죠.

그래서 다들 %, / 연산을 통해 구현했을텐데,

정답에는 Fail하셨을 거에요. (저 포함)

메모리 문제로 실패하더라구요.

그래서 아주 간단하게, String 방식으로 구현했습니다.

 

 2018년 3월 12일


import java.util.Scanner;


public class Q3750 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int testCase = sc.nextInt();

for (int i = 0; i < testCase; i++) {

solution(i + 1, sc.next());

}

}

static void solution(int num, String value) {

if (value.length() == 1) {

System.out.println("#" + num + " " + value);

return;

}

int result = 0;

for (int i = 0; i < value.length(); i++) {

int tempVaule = Integer.valueOf(value.charAt(i)) - 48;

result += tempVaule;

}

solution(num, String.valueOf(result));

}

}


 2018년 3월 12일


import java.util.Scanner;


public class Q3750 {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int testCase = sc.nextInt();

for (int i = 0; i < testCase; i++) {

solution(i + 1, sc.next());

}

}

static void solution(int num, String value) {

while (value.length() > 1) {

value = getCalResult(value);

}

System.out.println("#" + num + " " + value);

}

static String getCalResult(String value) {

int result = 0;

for (int i = 0; i < value.length(); i++) {

int tempVaule = Integer.valueOf(value.charAt(i)) - 48;

result += tempVaule;

}

return String.valueOf(result);

}

}