[프로그래머스] Java Level 1. 하샤드 수

2023. 5. 25. 13:11· 알고리즘/Programmers

풀이법

 

틀린 코드

import java.util.*;

class Solution {
    public boolean solution(int x) {
        //각 자리수를 나누어 더하기
        //더한 수로 x를 나누기
        
        boolean answer = false;
        
        //각 자리수를 나누어 더한 합
        int sum = 0;
        //x값 잠시 가져다 쓸 변수
        int temp = x;
        //자리수를 나누어 저장해 줄 리스트
        List<Integer> list = new ArrayList<>();
        
        while(x != 0) {
            list.add(temp%10);
            temp = temp / 10;
        }
        
        for(int i=0; i<list.size(); i++) {
            sum += list.get(i);
        }
        
        if(x % sum == 0) {
            answer = true;
        }
        
        
        return answer;
    }
}

메모리 초과가 떴다.

너무 비효율적인 코드인거 같아서 효율적인 방법을 고민해보았다.

불필요한 반복 코드는 줄이고 간단하게 수정했다.

 

정답 코드

import java.util.*;

class Solution {
    public boolean solution(int x) {
        //각 자리수를 나누어 더하기
        //더한 수로 x를 나누기
        
        //각 자리수를 나누어 더한 합
        int sum = 0;
        //x값 잠시 가져다 쓸 변수
        int temp = x;

        
        while(temp != 0) {
            sum += temp % 10;
            temp = temp / 10;
        }

        
        if(x % sum == 0) {
            return true;
        }
        return false;
    }
}

굳이 List에 추가해서 for문을 돌리는건 불필요했다.

간단하게 생각해서 코드를 변경하니 바로 통과되었다.

저작자표시 비영리 변경금지 (새창열림)

'알고리즘 > Programmers' 카테고리의 다른 글

[프로그래머스] Java Level 1. 서울에서 김서방 찾기  (0) 2023.05.25
[프로그래머스] Java Level 1. 두 정수 사이의 합  (0) 2023.05.25
[프로그래머스] Java Level 1. 정수 제곱근 판별  (0) 2023.05.25
[프로그래머스] Java Level 1. 정수 내림차순으로 배치하기  (0) 2023.05.25
[프로그래머스] Java Level1. 문자열을 정수로 바꾸기  (0) 2023.05.20
'알고리즘/Programmers' 카테고리의 다른 글
  • [프로그래머스] Java Level 1. 서울에서 김서방 찾기
  • [프로그래머스] Java Level 1. 두 정수 사이의 합
  • [프로그래머스] Java Level 1. 정수 제곱근 판별
  • [프로그래머스] Java Level 1. 정수 내림차순으로 배치하기
개발자 정지은
개발자 정지은
프로그래밍 공부 기록
개발자 정지은
PROGRAMMING DIARY
개발자 정지은
전체
오늘
어제
  • 분류 전체보기 (107)
    • 알고리즘 (49)
      • BeakJoon (27)
      • SWEA (9)
      • Inflearn (2)
      • CodeSignal (1)
      • Programmers (10)
    • FE (0)
      • Javascript (0)
      • React (0)
    • BE (0)
    • CS공부 (13)
      • Database (7)
      • IT기본지식 (6)
    • TIL (45)
      • 프로그래머스 데브코스 (45)
    • Project (0)
      • DreamHi (0)
      • 인사관리시스템 (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • figma
  • ReactNative
  • 국비지원교육
  • 프론트엔드
  • 피그마
  • javascript
  • 코딩부트캠프
  • React.JS
  • 리액트
  • 자바스크립트
  • 알고리즘
  • 프로그래머스 데브코스

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.2
개발자 정지은
[프로그래머스] Java Level 1. 하샤드 수
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.