์ƒˆ์†Œ์‹

๐Ÿงฎ PS

๋ฐฑ์ค€ (boj) 15829 ํŒŒ์ด์ฌ - Hashing

  • -

*๋ฌธ์ œ ๋งํฌ : https://www.acmicpc.net/problem/15829

 

15829๋ฒˆ: Hashing

APC์— ์˜จ ๊ฒƒ์„ ํ™˜์˜ํ•œ๋‹ค. ๋งŒ์•ฝ ์—ฌ๋Ÿฌ๋ถ„์ด ํ•™๊ต์—์„œ ์ž๋ฃŒ๊ตฌ์กฐ๋ฅผ ์ˆ˜๊ฐ•ํ–ˆ๋‹ค๋ฉด ํ•ด์‹œ ํ•จ์ˆ˜์— ๋Œ€ํ•ด ๋ฐฐ์› ์„ ๊ฒƒ์ด๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋ž€ ์ž„์˜์˜ ๊ธธ์ด์˜ ์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ๊ณ ์ •๋œ ๊ธธ์ด์˜ ์ถœ๋ ฅ์„ ๋‚ด๋ณด๋‚ด๋Š” ํ•จ์ˆ˜๋กœ ์ •์˜ํ•œ๋‹ค. ํ•ด์‹œ ํ•จ์ˆ˜๋Š” ๋ฌด๊ถ๋ฌด์ง„ํ•œ ์‘์šฉ ๋ถ„์•ผ๋ฅผ ๊ฐ–๋Š”๋ฐ, ๋Œ€ํ‘œ์ ์œผ๋กœ ์ž๋ฃŒ์˜ ์ €์žฅ๊ณผ ํƒ์ƒ‰์— ์“ฐ์ธ๋‹ค. ์ด ๋ฌธ์ œ์—์„œ๋Š” ์—ฌ๋Ÿฌ๋ถ„์ด ์•ž์œผ๋กœ ์œ ์šฉํ•˜๊ฒŒ ์“ธ ์ˆ˜ ์žˆ๋Š” ํ•ด์‹œ ํ•จ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๊ฐ€๋ฅด์ณ์ฃผ๊ณ ์ž ํ•œ๋‹ค. ๋จผ์ €, ํŽธ์˜์ƒ ์ž…๋ ฅ์œผ๋กœ ๋“ค์–ด์˜ค๋Š” ๋ฌธ์ž์—ด์—๋Š” ์˜๋ฌธ ์†Œ๋ฌธ์ž(a, b, ..., z)๋กœ๋งŒ ๊ตฌ

www.acmicpc.net

 

 

๋ฌธ์ œ๊ฐ€ ๋ฌด์ฒ™ ๊ธธ์—ˆ์ง€๋งŒ, ์ฝ๋Š” ๊ทธ๋Œ€๋กœ ์ ๊ธฐ๋งŒ ํ•˜๋ฉด ํ’€๋ฆฌ๋Š” ๋ฌธ์ œ์˜€๋‹ค. 

apb = "abcdefghijklmnopqrstuvwxyz"
sum = 0
N = int(input())
string=list(input())
# print(string)
for idx, char in enumerate(string):
    sum += (apb.find(char)+1)*(31**idx)
print(sum % 1234567891)

 

๋งˆ์ง€๋ง‰ ์ถœ๋ ฅ๋ฌธ์—์„œ 1234567891์€ ๋ฌธ์ œ ํ•œ๊ฐ€์šด๋ฐ์— "M" ์œผ๋กœ ์•Œ๋ ค์ค€๋‹ค. (์ด๋ถ€๋ถ„์„ ์ œ๋Œ€๋กœ ์•ˆ์ฝ์–ด์„œ ์ฒ˜์Œ์— ์˜ค๋‹ต์ด์—ˆ๋‹คใ… .)

Contents

ํฌ์ŠคํŒ… ์ฃผ์†Œ๋ฅผ ๋ณต์‚ฌํ–ˆ์Šต๋‹ˆ๋‹ค

์ด ๊ธ€์ด ๋„์›€์ด ๋˜์—ˆ๋‹ค๋ฉด ๊ณต๊ฐ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค.