728x90
반응형
SMALL

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항

  • N의 범위 : 100,000,000 이하의 자연수

입출력 예

입출력 예 설명

입출력 예 #1문제의 예시와 같습니다.

입출력 예 #29 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

import java.util.Arrays;

public class H12932 {

    public static int[] solution(long n) {
        String str = String.valueOf(n);
        char[] arr = str.toCharArray();
        int[] answer = new int[arr.length];

        for (int i = 0; i < arr.length; i++) {
            answer[i] = (int) (n % 10);
            n = (int) n / 10;
        }
        return answer;
    }

    public static void main(String[] args) {
        int n = 12345;
        System.out.println(Arrays.toString(solution(n)));
    }
}
728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.1' 카테고리의 다른 글

정수 제곱근 판별  (0) 2023.01.28
정수 내림차순으로 배치하기  (0) 2023.01.28
자릿수 더하기  (0) 2023.01.27
이상한 문자 만들기  (0) 2023.01.27
완주하지 못한 선수  (0) 2023.01.27
728x90
반응형
SMALL

문제 설명

자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

제한사항

  • N의 범위 : 100,000,000 이하의 자연수

입출력 예

N answer

123 6
987 24

입출력 예 설명

입출력 예 #1문제의 예시와 같습니다.

입출력 예 #29 + 8 + 7 = 24이므로 24를 return 하면 됩니다.

import java.util.Arrays;

public class H12931 {
    public static int solution(int n) {
        int answer = 0;

        int length = (int)(Math.log10(n)+1);                //n 의 자릿수

        for(int i=0; i<length; i++) {
            answer+=n%Math.pow(10, i+1)/Math.pow(10, i);    //10의 n승만큼 계속 나누면서 각 자릿수를 더함
        }

        return answer;
    }

    public static void main(String[] args) {
        int n = 123;
        System.out.println(Arrays.toString(new int[]{solution(n)}));
    }
}
728x90
반응형
LIST
728x90
반응형
SMALL

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

제한 사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

입출력 예

"try hello world" "TrY HeLlO WoRlD"

입출력 예 설명

"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

public class H12930 {
    public static String solution(String s) {
        String answer = "";
        int index = 0;          // 가상으로 index 저장
        for (int i=0; i<s.length(); i++){
            if (s.charAt(i) == 32) {    // i번째 문자가 공백일 경우
                answer += " ";  //단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. //answer에 공백 더하기
                index = 0;      //첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.     //공백 => index는 다시 0으로 저장

            } else if (index == 0 || index % 2 == 0) {          // index 0이거나 짝수면
                answer += Character.toUpperCase(s.charAt(i));   // 대문자를 더하고
                index++;                                        // index에 +1

            } else if (index%2 != 0){                            // index 홀수면
                answer += Character.toLowerCase(s.charAt(i));    // 소문자를 더하고
                index++;                                         // index에 +1
            }
        }
        return answer;
    }

    public static void main(String[] args) {
        String s = "try hello world";
        String s1[] = {"TrY HeLlO WoRlD"};
        System.out.println(solution(s));
    }
}

참고

JadenCase 문자열 만들기→Character.toUpperCase() + 삼항연산자

728x90
반응형
LIST

+ Recent posts