문제 링크https://leetcode.com/problems/missing-number/문제 설명정수 배열 nums가 주어졌을 때, 0부터 n까지의 숫자 중 배열에 없는 유일한 숫자를 찾는 함수를 작성하세요. 여기서 n은 배열의 길이이며, nums에는 [0, n] 범위의 숫자가 중복 없이 포함되어 있습니다.입력: 배열 nums (길이 n)출력: 0부터 n까지의 숫자 중 nums에 없는 숫자예제예제 1입력: nums = [3, 0, 1]출력: 2설명: n = 3이므로 [0, 3] 범위의 숫자는 0, 1, 2, 3입니다. 이 중 2가 배열에 없으므로 2를 반환합니다.예제 2입력: nums = [0, 1]출력: 2설명: n = 2이므로 [0, 2] 범위의 숫자는 0, 1, 2입니다. 2가 배열에 없으므로 2..
문제 링크https://leetcode.com/problems/counting-bits/풀이 영상https://youtu.be/CNHIHRofKdk?si=ANS9vKrqrMLn-wwQ분석n = 5 일때 6개의 배열을 만들고 각 배열에는 2진수 1의 갯수를 입력해야 한다.[0,1,1,2,1,2] 의 배열이 어떻게 만들어 졌는지 보면0 -> 0 = 01 -> 1 = 12 -> 10 = 13 -> 11 = 24 -> 100 = 15 -> 101 = 2풀이 전략십진수 이진수 최상위 비트 1의 개수--------------------------------------------------------0 0000 01 ..
문제 링크https://leetcode.com/problems/number-of-1-bits/문제 설명양의 정수 n이 주어지면 이진 표현에서 설정된 비트 수를 반환하는 함수(해밍 가중치라고도 함)를 작성합니다.입력: 정수 n출력: n의 이진 표현에서 1로 설정된 비트의 개수예제예제 1입력: n = 11출력: 3설명: 11의 이진 표현은 1011이며, 총 3개의 1이 있습니다.예제 2입력: n = 128출력: 1설명: 128의 이진 표현은 10000000이며, 1이 1개 있습니다.예제 3입력: n = 2147483645출력: 30설명: 2147483645의 이진 표현은 1111111111111111111111111111101이며, 총 30개의 1이 있습니다.풀이 전략이 문제를 풀기 위해 몇 가지 접근 방법..
문제 링크https://leetcode.com/problems/contains-duplicate/문제 설명정수 배열 번호가 주어지면 배열에 두 번 이상 표시되는 값이 있으면 참으로 반환하고, 모든 요소가 구분되는 경우 거짓으로 반환합니다.Example 1: Input: nums = [1,2,3,1] Output: true Explanation: The element 1 occurs at the indices 0 and 3.Example 2: Input: nums = [1,2,3,4] Output: false Explanation: All elements are distinct.Example 3: Input: nums = [1,1,1,3,3,4,3,2,4,2] Output: true풀이 ..
주식을 사고팔기 가장 좋은 시점 p.195문제 링크https://leetcode.com/problems/best-time-to-buy-and-sell-stock/문제 설명한 번의 거래로 낼 수 있는 최대 이익을 산출저점에 사서 고점에 팔아 최대 이익을 찾는 문제입력 [7, 1, 5, 3, 6, 4]출력 51일 때 사서 6일 때 팔면 5의 이익을 얻는다.풀이 전략브루트 포스로 계산타임아웃으로 풀리지 않는다.저점과 현재 값과의 차이 계산그래프 형태로 그리면 어떻게 풀어야 할지 직관이 생김class Solution: def maxProfit(self, prices: List[int]) -> int: profit = 0 # 1. 최대 이익을 저장할 ..
문제 링크https://leetcode.com/problems/two-sum/문제 설명덧셈하여 타겟을 만들 수 있는 배열의 두 숫자 인덱스를 리턴입력nums = [2, 7, 11, 15], target = 9출력[0, 1]설명nums[0] + nums[1] = 2 + 7 = 9풀이 전략풀이 전략은 아래와 같이 다양하게 접근 할 수 있다.Brute-Force 계산in을 이용한 탐색첫 번재 수를 뺀 결과 키 조회조회 구조 개선투 포인트 이용5가지 중 가장 추천하는 풀이 전략은 4번 이며, 5번은 문제 풀이를 못할 수도 있다.조회 구조 개선for 문 하나로 해결전체를 모두 저장할 필요 없이 정답을 찾게 되면 함수를 빠져 나올 수 있다코드가 한결 더 간결해 진다.class Solution: def twoS..