[LeetCode] #1 - Two Sum [Java][C++][Python]
문제 링크 1. 아이디어 정수 배열 nums와 정수 target이 주어질 때, nums에서 두 수의 합이 target이 될 경우 두 수의 인덱스를 반환하는 문제다. nums의 크기가 최대 $10^4$이어서 2중 반복문을 통한 브루트 포스로 $O(N^2)$의 시간복잡도로 해결할 수 있다. Follow-up은 $O(N^2)$의 시간복잡도보다 빠...
문제 링크 1. 아이디어 정수 배열 nums와 정수 target이 주어질 때, nums에서 두 수의 합이 target이 될 경우 두 수의 인덱스를 반환하는 문제다. nums의 크기가 최대 $10^4$이어서 2중 반복문을 통한 브루트 포스로 $O(N^2)$의 시간복잡도로 해결할 수 있다. Follow-up은 $O(N^2)$의 시간복잡도보다 빠...

대회 링크 1. 대회 개요 항목 내용 대회 Codeforces Round 1119 (Div. 3) 일시 2026-09-05 23:45 KST 배정 시간 135분 ...
문제 링크 1. 아이디어 문자열 my_str을 길이 n씩 잘라서 배열로 반환하는 문제로 부분 문자열을 얻을 수 있는 표준 라이브러리를 활용하면 간단하게 해결할 수 있다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ $O(N)$...
문제 링크 1. 아이디어 정수 배열 array에서 7의 개수를 구하는 문제로 array의 각 정수에 대해 10으로 나눈 나머지가 7이면 개수를 세고 몫만 취하는 과정을 반복하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N \times...
문제 링크 1. 아이디어 array를 순회하며 각 원소가 height보다 크면 카운팅하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ $O(1)$ ($N$ = array의 길이) 3. 코드 풀이...
문제 링크 1. 아이디어 array를 순회하며 각 원소가 n과 일치하면 카운팅하면 된다. 2. 복잡도 접근 시간 공간 풀이 $O(N)$ $O(1)$ ($N$ = array의 길이) 3. 코드 풀이 [Ja...
문제 링크 1. 아이디어 원형으로 배치된 집들이 주어지고 도둑이 연결된 두 집을 동시에 털 수 없을 때 얻을 수 있는 최대 금액을 구하는 문제로 다이나믹 프로그래밍을 활용하면 해결할 수 있다. dp[i]를 첫 번째 집부터 i번째 집까지를 고려했을 때, 얻을 수 있는 최대 금액으로 정의하면 i번째 집을 안 터는 경우는 i - 1번째 집을 털 ...
문제 링크 1. 아이디어 일렬로 배치된 집들이 주어지고 도둑이 연결된 두 집을 동시에 털 수 없을 때 얻을 수 있는 최대 금액을 구하는 문제로 다이나믹 프로그래밍을 활용하면 해결할 수 있다. dp[i]를 첫 번째 집부터 i번째 집까지를 고려했을 때, 얻을 수 있는 최대 금액으로 정의하면 i번째 집을 안 터는 경우는 i - 1번째 집을 털 수...
문제 링크 1. 아이디어 #과 *로 이루어진 문자열이 주어지고 *은 빈 공간, #는 선을 의미한다. 각 문자열에 대해 선을 지우는 데 가장 오래 걸리는 시간을 구하는 문제로 각 선은 좌우에서 매초 1센티미터씩 지울 수 있다. 따라서 주어진 문자열에서 연속된 #으로 이루어진 가장 긴 선을 찾아 길이를 구한 후 이를 2로 올림 나눗셈을 한 값이 ...
문제 링크 1. 아이디어 영어 대소문자로 이루어진 문자열 my_string에 대해 전부 소문자로 변환 후 알파벳 순서대로 정렬한 문자열을 반환하면 되는 간단한 문제다. 2. 복잡도 접근 시간 공간 풀이 $O(N \log N)$ ...