glowing713
Frontend-Deep-Dive
glowing713
전체 방문자
오늘
어제
  • 분류 전체보기 (76)
    • Problem_Solving (76)

블로그 메뉴

  • 🧑🏻‍💻Github

공지사항

인기 글

태그

  • ps
  • brute-force
  • Java
  • 완전탐색
  • Baekjoon
  • bfs
  • 2019 카카오 개발자 겨울 인턴십
  • mst
  • Algorithm
  • Stack
  • binary search
  • DP
  • 카카오 기출
  • Python
  • c++
  • BOJ
  • boostcampaitech
  • 이분탐색
  • 동적계획법
  • 프로그래머스

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
glowing713

Frontend-Deep-Dive

왜 정답을 나눈 나머지를 출력하라고 할까? - 나머지 연산
Problem_Solving

왜 정답을 나눈 나머지를 출력하라고 할까? - 나머지 연산

2020. 3. 6. 19:16

 

요즘 dp 문제를 풀면서 정답을 특정 값으로 나눈 나머지를 출력하라는 조건을 많이 발견했다.

 

다른 사람들의 풀이를 보고 블로그들을 찾아보면서 다음과 같은 성질을 활용한다는 것을 알 수 있었다.

 

 

 

(A + B) % M = (A % M + B % M) % M

 

 

 

최종적으로 구한 dp 배열에 특정 값들을 합한 결과를 출력하고는 한다.

 

그런데 dp 배열을 구하는 과정에서 매번 그 값들의 나머지를 구해줘도 동일한 결과값이 나온다는 말이다.

 

실제로 그러한지 간단한 소스코드로 구현해보았다.

 

 

 

#include <iostream>
#include <limits.h>	// INT_MAX 상수
using namespace std;

int mod = 1e+7;	// 10^7

int main(){
    long a = INT_MAX, b = INT_MAX;
    cout << (a + b) % mod << endl;
    cout << (a % mod + b % mod) % mod << endl;
    return 0;
}

 

 

실행해보니 두 케이스 모두 4967294 로 동일한 결과값이 나왔다.

이 식이 성립한다는 것을 확인했으니 dp 문제 풀이에 적용하면 되겠다는 확신이 든다.

저작자표시 비영리 변경금지 (새창열림)

'Problem_Solving' 카테고리의 다른 글

[BOJ] 백준 11051 이항 계수 2 / 동적 계획법(Dynamic-Programming)  (0) 2020.03.11
[BOJ] 백준 11057 오르막 수 / 동적 계획법(Dynamic-Programming)  (0) 2020.03.09
[BOJ] 백준 10844 쉬운 계단 수 / 동적 계획법(Dynamic-Programming)  (0) 2020.03.06
[BOJ] 백준 1699 제곱수의 합 / 동적 계획법(Dynamic-Programming)  (0) 2020.03.04
[BOJ] 백준 11726 2xn 타일링 / 동적 계획법(Dynamic-Programming)  (0) 2020.03.04
    'Problem_Solving' 카테고리의 다른 글
    • [BOJ] 백준 11051 이항 계수 2 / 동적 계획법(Dynamic-Programming)
    • [BOJ] 백준 11057 오르막 수 / 동적 계획법(Dynamic-Programming)
    • [BOJ] 백준 10844 쉬운 계단 수 / 동적 계획법(Dynamic-Programming)
    • [BOJ] 백준 1699 제곱수의 합 / 동적 계획법(Dynamic-Programming)
    glowing713
    glowing713

    티스토리툴바