코딩테스트

C# 알고리즘 - 하샤드 수

작성자 정보

  • 마스터 작성
  • 작성일

컨텐츠 정보

본문

 

 

[문제 설명]

정수가 담긴 배열 array와 정수 n이 매개변수로 주어질 때, array에 n이 몇 개 있는 지를 return 하도록 solution 함수를 완성해보세요.

 

[제한사항]

x는 1 이상, 10000 이하인 정수입니다.

 

[입출력 예]

 

[입출력 예 설명]

입출력 예 #1

10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다.

 

입출력 예 #2

12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다.

 

입출력 예 #3

11의 모든 자릿수의 합은 2입니다. 11는 2으로 나누어 떨어지므로 11는 하샤드 수가 아닙니다.

 

입출력 예 #4

13의 모든 자릿수의 합은 4입니다. 13는 4으로 나누어 떨어지므로 13는 하샤드 수가 아닙니다.


[코드]

using System;


public class Solution {

    public bool solution(int x) {

        bool answer = true;

        string xx = x.ToString();

        int sum = 0;

        for (int i = 0; i < xx.Length; i++)

        {

            sum += (int)Char.GetNumericValue(xx[i]);

        }

        return answer = x % sum == 0 ? true : false;

    }

}

 

[풀이]

1.int x 를 스트링에 담기

string xx = x.ToString();

 

2.문자열을 더할 값을 저장할 변수 선언

int sum = 0;

 

3,for문으로 돌려서 값을 sum에 더하기

for (int i = 0; i < xx.Length; i++)

{

      sum += (int)Char.GetNumericValue(xx[i]);

}

 

4.x % sum == 0이면 참 아니면 거짓

 return answer = x % sum == 0 ? true : false;

 

 

[주소]

https://school.programmers.co.kr/learn/courses/30/lessons/12947

해당 알고리즘 문제는 프로그래머스의 알고리즘 문제입니다.

관련자료

댓글 0
등록된 댓글이 없습니다.

최근글


새댓글


알림 0