상세 컨텐츠

본문 제목

9로 나눈 나머지

코딩테스트/C#

by MJ_119 2024. 6. 11. 22:30

본문

문제 설명

음이 아닌 정수를 9로 나눈 나머지는 그 정수의 각 자리 숫자의 합을 9로 나눈 나머지와 같은 것이 알려져 있습니다.
이 사실을 이용하여 음이 아닌 정수가 문자열 number로 주어질 때, 이 정수를 9로 나눈 나머지를 return 하는 solution 함수를 작성해주세요.


제한사항
  • 1 ≤ number의 길이 ≤ 100,000
  • number의 원소는 숫자로만 이루어져 있습니다.
  • number는 정수 0이 아니라면 숫자 '0'으로 시작하지 않습니다.

입출력 예

 

 

 

여기서 number[i] - '0'char 값을 숫자로 변환하는 간단한 방법.

using System;

public class Solution {
    public int solution(string number) {
        int answer = 0;
        int d = 0;
        
        for(int i = 0; i < number.Length; i++)
        {
            d += number[i] - '0';
        }
        answer = d % 9;
                
        return answer;
    }
}

 

다른 풀이

using System;
using System.Linq;

public class Solution {
    public int solution(string number) {
        return number.Select(s => s - '0').Sum() % 9;
    }
}

 

using System;

public class Solution {
    public int solution(string number) {
        int answer = 0;
        foreach(char ch in number)
        {
            answer += Convert.ToInt16(ch)-48;
        }
        answer = answer %9;
        return answer;
    }
}

 

using System;

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

        foreach(char c in number)
            answer += Convert.ToInt32(c.ToString());

        answer = answer % 9;

        return answer;
    }
}

 

using System;

public class Solution {
    public int solution(string number) {
        int sum = 0;
        for(int i = 0; i<number.Length; i++){
           sum+=Int32.Parse($"{number[i]}");
        }
        return sum%9;
    }
}

 

using System;

public class Solution {
    public int solution(string number) {
        var answer = 0;
        int sum = 0;

        for(int i = 0; i < number.Length; i++)
        {
            sum += int.Parse(number[i].ToString());
        }

        return answer = sum % 9;
    }
}

 

using System;

public class Solution {
    public int solution(string number) {
        int sum = 0;
        foreach(char n in number) sum+=int.Parse(n+"");
        return sum%9;       
    }
}

 

 

 

'코딩테스트 > C#' 카테고리의 다른 글

문자열의 앞의 n글자  (0) 2024.06.11
문자열의 뒤의 n글자  (0) 2024.06.11
글자 이어 붙여 문자열 만들기  (0) 2024.06.11
간단한 논리 연산  (0) 2024.06.11
콜라츠 수열 만들기  (0) 2024.06.10

관련글 더보기