알고리즘 자릿수 더하기 ,자릿수 계산

hee·2022년 11월 2일
0

알고리즘

목록 보기
2/10

1.자릿수 더하기

👉 나의 solution String으로 변환하여 처리

public class Algorithm_Exercise {
    public int sol(int num){
        String m = String.valueOf(num);
        int total = 0;
        for (int i = 0; i < m.length(); i++){
            total += Integer.parseInt(String.valueOf(m.charAt(i)));
        }
        return total;
    }

}

위의 방법은 좋은 방법이 아님. 계속되는 형 변환은 비효율적 입니다.

👉 solution 몫과 나머지를 활용하여 해결

public class AlgorithmExerciseNewsol {

    public int solution (int num){
        int total = 0;
        while (num > 0 ){
            total += num%10;
            num = num/10;
        }
        return total;
    }
}

2. 자릿수 계산

👉 나의 solution String으로 변환 후 length를 반환하기

public class AlgorithmExercise2 {

   public int solution2(int num) {
       String str = String.valueOf(num);
       return str.length();

   }
}

👉 solution 몫으로 해결

import java.util.Scanner;
public class AlgorithmExerciseMain2 {
    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int count = 0;

        while (num > 0) {
            num = num / 10;
            count += 1;
        }
        System.out.println("입력한 숫자의 자릿수는 : "+count+"개 입니다.");
    }
}

아쉬운점 : 문제 해결은 하였지만 계속 더 좋은 방법이 없을까 한번 더 생각해보지 않고 그냥 간단하게 보이는 해결 방법으로 문제를 해결할려고 함. 당연히 간단한 해결 방법으로 문제를 해결하면 가장 좋지만 이런 습관이 공간 복잡도, 시간 복잡도 등을 고려하지 않아 더 효율적이고 좋은 코드를 작성 할 수 없게 만든다.

0개의 댓글

관련 채용 정보