[C++] 백준/Gold/2011. 암호코드
·
C++/Coding Test
문제: 암호 코드 (백준 2011번)문제 분석주어진 숫자 문자열을 알파벳으로 변환하는 경우의 수를 찾는 문제.'1' ~ '26'까지의 숫자는 각각 'A' ~ 'Z'로 변환 가능.'0'은 단독으로 존재할 수 없으며, 반드시 앞 숫자와 조합되어야 한다.풀이: 동적 계획법 (DP)1. DP 배열 정의dp[i] = 주어진 숫자에서 i번째 숫자까지 해석할 수 있는 방법의 수핵심은 한 자리, 두 자리씩 해석하는 경우를 고려하는 것이다.2. 점화식1자리 숫자로 해석 가능한 경우 (num[i-1] ≠ '0')→ dp[i] += dp[i-1]2자리 숫자로 해석 가능한 경우 (10 ≤ 두 자리 숫자 ≤ 26)→ dp[i] += dp[i-2]MOD 연산 적용: dp[i] %= 1000000문제에서 요구하는 값이 매우 클 수..