[Programmers] #120810 - 나머지 구하기 [Java][C++][Python]
문제 링크 1. 아이디어 정수 num1, num2가 주어질 때, num1을 num2로 나눈 나머지를 구하면 되는 간단한 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ $O(1)$ 3. 코드 풀이 ...
문제 링크 1. 아이디어 정수 num1, num2가 주어질 때, num1을 num2로 나눈 나머지를 구하면 되는 간단한 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ $O(1)$ 3. 코드 풀이 ...
문제 링크 1. 아이디어 $x$로 시작하며 $x$와 $-x$가 번갈아 등장하는 길이 $n$짜리 수열의 합을 구하는 문제다. 인접한 두 항의 합이 $(x) + (-x) = 0$이 된다는 점에서 $n$이 홀수면 마지막 항을 제외한 나머지 항의 합이 0이 되어 모든 항의 합이 $x$가 되고, 짝수면 모든 항의 합이 $0$이 된다. 2. 복잡도...
문제 링크 1. 아이디어 의상 목록 clothes가 주어질 때, 종류별로 최대 1가지씩만 착용하면서 최소 한 개는 입어야 하는 조합의 수를 구하면 되는 문제다. 먼저 해시맵으로 종류별 의상 개수를 셌다. 각 종류마다 “그 종류를 안 입기”와 “그 종류의 의상 중 하나를 입기” 중 하나를 고를 수 있으므로, 종류별 경우의 수는 (해당 종류 의상...
문제 링크 1. 아이디어 참가자 명단 participant와 완주자 명단 completion이 주어질 때, 완주하지 못한 단 한 명의 이름을 찾으면 되는 문제다. 동명이인이 있을 수 있으므로 이름을 단순히 집합으로 비교하면 안 되고, 이름별 등장 횟수를 세야 한다. 해시맵에 participant의 각 이름을 카운트로 더하고 completion...
문제 링크 1. 아이디어 총 $N$마리의 폰켓몬 중 절반($N / 2$마리)을 선택할 때, 가능한 한 많은 종류를 가져가려면 서로 다른 종류의 수와 선택 가능한 마리 수 중 작은 쪽을 고르면 된다. 서로 다른 종류의 수보다 더 많이 골라봐야 어차피 중복이 생기고, 선택 가능한 마리 수보다 많이 가져갈 수도 없기 때문이다. 따라서 해시 집합에 ...
문제 링크 1. 아이디어 정수 a, b가 주어질 때, 두 수의 합을 계산해 a + b = c 형태의 문자열로 출력하면 되는 간단한 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ $O(1)$ 3. 코...
문제 링크 1. 아이디어 공백으로 구분된 두 문자열 str1, str2를 입력받아 공백 없이 이어붙여 출력하면 되는 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ $O(N)$ ($N$ = str1과 s...
문제 링크 1. 아이디어 문자열을 시계방향으로 90도 돌리면 각 문자가 위에서 아래로 한 줄씩 나열된 모양이 된다는 점에 착안해, 입력 문자열의 각 문자를 순서대로 한 줄씩 출력하면 되는 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(N...
문제 링크 1. 아이디어 자연수 n을 입력받아 2로 나눈 나머지로 홀짝을 판별해, 홀수면 n is odd를, 짝수면 n is even을 출력하면 되는 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(1)$ $O(1)$ ...
문제 링크 1. 아이디어 my_string의 인덱스 s부터 overwrite_string의 길이만큼을 overwrite_string으로 바꿔 반환하면 되는 문제다. s와 overwrite_string의 길이를 더한 값이 my_string의 길이를 넘지 않으므로, my_string을 s 앞부분과 겹쳐쓰기가 끝나는 지점 뒷부분으로 나눠 그 사이에...