백준 4422, Crypt Kicker II
개요 문제 링크 골드 4, String, Hash Permutation을 이용해 문자열 decoding 접근 문제 해석이 조금 까다로울 수 있는데, 각각의 알파벳을 일대일 대응으로 변환한 암호문이 주어지면 원문을 복원하는 문제이다. 이때 복원 규칙을 알 수 있도록 특정 문장을 사용했는데, 그 문장이 바로 the quick brown fox jumps over the lazy dog 이다. 따라서 저 문장의 암호화로 나올 수 있는 문장을 찾은 뒤, 규칙을 설정하고 복호화해서 출력하면 된다. 그럼 변환 가능성은 어떻게 판단하냐? 하면 여러 방법이 있겠지만 나는 모든 알파벳의 위치를 저장한 뒤, 위치 집합이 같은지 봤다. 어떤 알파벳인지 몰라도 된다. 예를들어 {(1,3), (2,5,6), (4)}와 같이 위..
2023. 5. 4.
백준 27715, 우표 구매하기 (Easy)
개요 문제 링크 골드 4, 조합론 1, 2원짜리 우표를 중복을 허용하여 선택해 K원 구성하기 접근 대표적인 중복조합 문제, K를 1, 2의 단위로 쪼개보자. 2원짜리를 i개 쓴다고 하면 K = (i×2) + (K-i×2)가 되는데, 2원짜리를 i개 고르는 방법은 M개의 2원짜리 동전 {q1, q2, ... qM}에서 아래의 식을 구성하는 방법의 수이다. q1+q2+...+qM = i 나머지 1원짜리를 K-i×2개만큼 고르는 방법도 마찬가지로 적용할 수 있다. N개의 1원짜리 동전 {p1,p2, ... pN}의 개수의 합이 K-2×i가 되면서 각 동전별 구분이 없고 중복을 허용하므로 아래와 같이 표현할 수 있다. p1+p2+...+pN = K-2*i 나머지는 수능 확통을 복습해보자. 위와 같은 식이 주어지..
2023. 5. 4.