Baekjoon 15829. Hashing c++ [Bronze II]

2024. 11. 13. 17:26·Baekjoon/Bronze
728x90
반응형

처음에는 cmath의 pow연산을 썼는데 pow함수는 실수형 연산을 수행하기에 정수형 해시 값을 계산할 때 불필요한 오차가 생길 수도 있다고 한다. 그리고 너무 큰 값일 때는 overflow가 발생해서 문제가 될 수도 있기에 직접 구현해야지 모든 테스트가 통과되 100점이 나올 것이다.

#include <iostream>
#include <string>
#include <cmath>
using namespace std;

int main(){
    int L;
    string s;
    cin >> L;
    cin >> s;

    const int M=1234567891;
    const int r=31;

    long long hash_val=0;
    long long power=1;

    for (int i = 0; i < L; i++){
        int temp=s[i]-'a'+1;
        hash_val=(hash_val+temp*power)%M;
        power=(power*r)%M;
    }
    cout << hash_val;
}
728x90
반응형
저작자표시 (새창열림)

'Baekjoon > Bronze' 카테고리의 다른 글

Baekjoon 28702. FizzBuzz c++ [Bronze I]  (0) 2024.11.20
Baekjoon 10989. 수 정렬하기 3 c++ [Bronze I]  (0) 2024.11.19
Baekjoon 2292.벌집 c++ [Bronze II]  (0) 2024.11.10
Baekjoon 2231. Digit Generator c++ [Bronze II]  (0) 2024.11.06
Baekjoon 10809. 알파벳 찾기 c++[Bronze II]  (0) 2024.11.03
'Baekjoon/Bronze' 카테고리의 다른 글
  • Baekjoon 28702. FizzBuzz c++ [Bronze I]
  • Baekjoon 10989. 수 정렬하기 3 c++ [Bronze I]
  • Baekjoon 2292.벌집 c++ [Bronze II]
  • Baekjoon 2231. Digit Generator c++ [Bronze II]
Hun-bot
Hun-bot
IT를 중심으로 다양한 것
  • Hun-bot
    로봇이 만드는 눈사람
    Hun-bot
  • 전체
    오늘
    어제
    • All Article (128)
      • Programmers (6)
        • TIP (1)
        • SQL (2)
        • LV1 (1)
        • LV2 (2)
        • LV3 (0)
      • Baekjoon (31)
        • Bronze (10)
        • Silver (19)
        • Gold (2)
        • Platinum (0)
        • Diamond (0)
      • Leetcode (0)
        • Easy (0)
        • Medium (0)
        • Hard (0)
        • SQL (0)
      • 알고리즘(Algorithm) (42)
      • JavaScript (40)
      • Linux (7)
      • JSP (1)
  • 블로그 메뉴

    • 링크

    • 공지사항

    • 인기 글

    • 태그

      JS #프로그래머스 #숫자의표현 #알고리즘
      SQL
      리눅스
      자바스크립트 #연습문제
      프로그래머스
      JS #JavaScript #프로그래머스 #카카오
      티스토리챌린지
      LeetCode #JS #Javascript #Algorithm
      알고리즘
      Javascript
      Algorithm
      JavaScript #Set #Collection
      JSP #Vscode #톰켓 #Tomcat #Java #Web #jdk
      프로그래머스 #자바스크립트 #JS
      Programmers
      BaekJoon
      c++
      오블완
      Vue #Vue.js #정리
      자바스크립트
      JS #javascript #객체 #Object
      JS #JavaScript #프로그래머스 #알고리즘
      Python #알고리즘
      async await #js #문법 #자바스크립트 #비동기
      JS #정규표현식
      JS #클래스
      백준
      알고리즘 #Algorithm
      고득점 Kit
      리눅스 #입문
    • 최근 댓글

    • hELLO· Designed By정상우.v4.10.3
    Hun-bot
    Baekjoon 15829. Hashing c++ [Bronze II]
    상단으로

    티스토리툴바

    티스토리툴바