집게사장의 꿈

백준 C# 15829 Hashing 본문

기타/백준

백준 C# 15829 Hashing

Krapboss 2024. 7. 10. 21:02
문제

 

 

 

 

M의 나머지 값이 되도록 해싱 값을 지정하는 것.

 

 

해결

 

거듭제곱으로 지속적으로 증가하는 'r^i' 값을 M의 나머지값으로 유지하는 것이 100점의 요점

 

internal class E15829 //Hashing
{
    //'a' 아스키코드  = 97
    static void Main(string[] args)
    {
        long r = 1, M = 1234567891,hash = 0 ;
        Console.ReadLine();
        string str = Console.ReadLine();

        foreach (char c in str)
        {
            hash = (hash + (c-96) * r) % M;
            r =  (r * 31) % M;
        }
        Console.WriteLine(hash);
    }
}

 

 

 

'기타 > 백준' 카테고리의 다른 글

백준 C# 49768592 최대공약수와 최소공배수  (0) 2024.07.11
백준 C# 1259 팰린드롬수  (0) 2024.07.11
백준 C# 2292 벌집  (0) 2024.07.10
백준 C# 1978 소수 찾기  (0) 2024.07.10
백준 C# 30802 웰컴 키트  (0) 2024.07.09