아이딕
아이딕 IT블로그
아이딕
전체 방문자
오늘
어제
  • 분류 전체보기 (44)
    • Algorithm (9)
      • BackJoon (0)
      • Programmers (5)
      • Data Structure (4)
    • Java (5)
    • Spring (1)
    • SQL (2)
      • MSSQL (1)
    • JavaScript (7)
    • React (3)
    • HTML (0)
    • CSS (1)
    • Build Tool (0)
      • Gradle (0)
      • Maven (0)
    • Tomcat (1)
    • Git (2)
    • IDE (3)
    • Error Log (1)
    • 개발 지식 (9)
    • 도서 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • programmers
  • 변수호이스팅
  • 프로그래머스
  • ES6
  • 블록레벨스코프
  • java Data Structure
  • 리액트
  • 코딩테스트
  • 자료구조
  • Git
  • JavaScript
  • Java
  • 호이스팅
  • 깃허브
  • 알고리즘
  • 자바스크립트
  • 자바자료구조
  • react
  • 인텔리제이
  • IntelliJ
  • 함수레벨스코프
  • Java 문자열 처리 최적화
  • VSCode
  • 스코프
  • GitHub
  • codingTest
  • JVM
  • 자바
  • Algorithm
  • springboot

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
아이딕

아이딕 IT블로그

Algorithm/Programmers

프로그래머스[Level 1] - 자릿수 더하기 (java)

2022. 9. 15. 09:12
728x90
반응형

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

- 제한사항
N의 범위 : 100,000,000 이하의 자연수

 

- 나의 풀이

import java.util.*;

public class Solution {
    public int solution(int n) {
		int answer = 0;
		String str = String.valueOf(n);
		for(int i = 0; i < str.length(); i++){
			answer += Integer.parseInt(String.valueOf(str.charAt(i)));
		}
		return answer;
    }
}

 

정수인 n값을 문자열로 변환하고 문자열 길이만큼 for문을 돌려 charAt함수를 이용해 문자열을 순차적으로 하나씩 꺼내서 다시 정수로 변환한 후에 answer 값을 하나씩 더해 값을 return해준다.

 

- 다른사람의 풀이

import java.util.*;

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

        while(true){
            answer+=n%10;
            
            if(n<10) break;
            
            n=n/10;
        }
        return answer;
    }
}

n값을 문자열로 만들어서 다시 정수로 변환해서 문제를 해결한 나와 다르게, 이 분은 while문을 통해 n값을 10으로 나눈 나머지 값을 구해 값을 하나씩 더하는 방법을 이용했다. 해당 풀이는 나의 풀이보다 효율성에서도 더 좋아보였고, 코드를 보는 순간.. 단번에 어떤 의도의 코드인지 한눈에 보여 가독성 또한 좋아보여서 이 풀이를 써보았다.

  

 

문제 출처 : https://programmers.co.kr/learn/challenges

728x90
반응형

'Algorithm > Programmers' 카테고리의 다른 글

프로그래머스[Level 1] - 정수 제곱근 판별 (java)  (0) 2022.10.03
프로그래머스[Level 1] - 평균 구하기 (java)  (0) 2022.09.15
프로그래머스[Level 1] - 나머지가 1이 되는 수 찾기 (java)  (0) 2022.09.14
프로그래머스[Level 1] - 직사각형 별 찍기 (java)  (0) 2022.09.13
    'Algorithm/Programmers' 카테고리의 다른 글
    • 프로그래머스[Level 1] - 정수 제곱근 판별 (java)
    • 프로그래머스[Level 1] - 평균 구하기 (java)
    • 프로그래머스[Level 1] - 나머지가 1이 되는 수 찾기 (java)
    • 프로그래머스[Level 1] - 직사각형 별 찍기 (java)
    아이딕
    아이딕
    IT, 개발, 공부, 정리, 기타

    티스토리툴바