Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- python os
- centos pyhon 설치
- c3 초
- c3 축 없애기
- gcc 업데이트
- c3 step graph
- snmp test
- python subprocess
- 정규식 컴파일
- telegraf
- regex_search
- selinux port 등록
- 백준
- grafana dashboard
- 정규식 활용
- g++ 업데이트
- c++ 정규식
- gcc regex
- semanage
- c3 축 가리기
- InfluxDB
- influxdb 설치
- linux시간으로 변경
- 정규식 문자열 출력
- snmp
- 1697
- CentOS7
- python popen
- subporcess path
- c3 second
Archives
- Today
- Total
리셋 되지 말자
[백준 15829] Hashing 본문
코드
def solution(l, arr):
answer = 0
for i in range(l):
arr[i] = ord(arr[i])-96
answer = answer + arr[i] * 31**i
print(answer%1234567891)
l = int(input())
arr = list(input())
solution(l, arr)
설명
- 문제가 복잡하지만 간단하게 해석하면 다음과 같다.
- 문자열 입력은 a부터 z 까지 소문자만 나온다.
- a의 아스키코드 값은 97 이므로 간단하게 ord()를 해준 뒤, 96을 빼준다.
- 그리고 ord()-1 값과 31의 i 제곱 수를 answer에 계속 더해준다.
- 마지막에 1234567891로 나눈 값을 출력한다.
- 파이썬이나 자바였으면 정수 값의 범위에 신경을 써줬어야 하겠지만 파이썬이라서 그냥 된다.
'알고리즘' 카테고리의 다른 글
[백준 2869] 달팽이는 올라가고 싶다 - 수학 (0) | 2021.12.29 |
---|---|
[백준 2839] 설탕배달 - 수학, DP, 그리디 (0) | 2021.12.29 |
[백준 2775] 부녀회장이 될테야 - 수학 (0) | 2021.12.27 |
[백준 2292] 벌집 - 수열 (0) | 2021.12.27 |
[백준 1929] 소수 구하기 - 에라토스테네스의 체 (0) | 2021.12.27 |
Comments