[Programmers] #181908 - 접미사인지 확인하기 [Java][C++][Python]
문제 링크 1. 아이디어 my_string의 뒤쪽 끝부분이 is_suffix와 그대로 일치하는지만 확인하면 되는 문제다. 문자열이 특정 접미사로 끝나는지 판정하는 표준 함수로 바로 처리할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(...
문제 링크 1. 아이디어 my_string의 뒤쪽 끝부분이 is_suffix와 그대로 일치하는지만 확인하면 되는 문제다. 문자열이 특정 접미사로 끝나는지 판정하는 표준 함수로 바로 처리할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(...
문제 링크 1. 아이디어 문자열을 왼쪽부터 훑으면서, 닫는 괄호가 나올 때마다 아직 짝을 못 찾은 여는 괄호가 앞에 있는지 확인한다. 끝까지 읽었을 때 짝을 못 찾은 여는 괄호가 하나도 남지 않아야 올바른 괄호다. 괄호 문제를 해결하는 대표 방식인 스택 풀이는 여는 괄호를 스택에 쌓고 닫는 괄호를 만나면 스택에서 하나 꺼낸다. 닫는 괄호인데...
문제 링크 1. 아이디어 배열에서 지워야 하는 대상은 서로 인접한 위치에서 반복되는 숫자뿐이다. 같은 숫자라도 떨어져 있으면 그대로 남기고, 바로 옆에 연달아 나오는 경우에만 하나로 합친다. 그러므로 배열을 앞에서부터 한 번 순회하면서 직전에 결과에 추가한 값과 현재 값을 비교해, 서로 다를 때만 결과에 추가하면 된다. 이러면 매 원소를 한 ...
문제 링크 1. 아이디어 서로 다른 구슬 balls개 중 share개를 순서 상관없이 고르는 경우의 수, 즉 이항계수 $\binom{n}{r}$($n$ = balls, $r$ = share)를 구하는 문제다. 정의대로 각 팩토리얼을 따로 계산해 나누면 값이 금세 커져 오버플로우 위험이 있으므로, $\binom{n}{r} = \prod_{i=1...
문제 링크 1. 아이디어 가위(2), 바위(0), 보(5)를 내는 순서를 표현한 문자열 rsp가 주어질 때, 각 문자를 그 패를 이기는 값으로 바꾸면 되는 문제다. 바위(0)를 이기는 패는 보(5), 가위(2)를 이기는 패는 바위(0), 보(5)를 이기는 패는 가위(2)이므로, rsp의 각 문자를 대응되는 값으로 바꾼 새 문자열을 반환하면 된...
문제 링크 1. 아이디어 모스부호를 해독하는 문제로 모스부호와 알파벳 소문자를 1대1로 대응시키는 표를 만들고, 공백으로 구분된 모스부호 문자열 letter를 토큰 단위로 분리해 각각을 대응되는 문자로 치환하면 되는 문제다. 모스부호 사이 공백은 항상 하나이고 해독 불가능한 입력은 주어지지 않으므로, 공백 기준으로 자른 각 토큰을 표에서 조회...
문제 링크 1. 아이디어 장군개미(공격력 5), 병정개미(공격력 3), 일개미(공격력 1)를 조합해 사냥감의 체력 hp를 정확히 채우는 데 필요한 최소 개미 수를 구하는 문제다. 장군개미를 $a$마리, 병정개미를 $b$마리 쓰면 나머지는 전부 일개미로 채워야 하므로 총 개미 수는 $a + b + (\text{hp} - 5a - 3b) = \t...
문제 링크 1. 아이디어 두 자연수의 곱이 n이 되는 순서쌍 $(a, b)$의 개수를 구하는 문제다. $a$가 정해지면 $b = n / a$도 함께 정해지므로, 곱이 n이 되는 $a$는 결국 n의 약수여야 한다. 즉 구하는 순서쌍의 개수는 n의 약수 개수와 같다. 가장 단순한 방법은 1부터 n까지 모든 정수 i에 대해 n이 i로 나누어떨어지...
문제 링크 1. 아이디어 emergency 값이 클수록 응급도가 높으므로, 값 기준 내림차순으로 정렬했을 때의 순위가 곧 진료 순서가 된다. 값 자체를 정렬하면 원래 인덱스 정보를 잃으므로, 인덱스 배열을 만들어 emergency 값 기준 내림차순으로 정렬한 뒤, 정렬된 순서대로 1부터 순위를 매겨 각 인덱스가 원래 있던 위치에 그 순위를 기...
문제 링크 1. 아이디어 age를 10진법 자릿수 그대로 유지한 채, 각 자리 숫자(0 ~ 9)를 a부터 j까지의 알파벳 문자로 치환하면 되는 문제다. 자리 순서만 지키면 되므로, 10으로 나눈 나머지를 낮은 자리부터 모아 마지막에 뒤집어 반환하면 된다. 2. 복잡도 접근 시간 공간 ...