목록leetcode (4)
준호씨의 블로그
문제: https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3285/ 정수배열 nums가 있습니다. 인접한 숫자들로 부분배열을 만들었을 때, 이 부분 배열들의 합 중 가장 큰 합을 구하는 문제입니다. Example: Input: [-2,1,-3,4,-1,2,1,-5,4], Output: 6 Explanation: [4,-1,2,1] has the largest sum = 6. 우선 brute force 하게 구현해 볼 수 있습니다. 모든 부분배열의 합 중 가장 큰 값을 찾으면 됩니다. class Solution: def maxSubArray(self, nums): result = nums[0] len_num ..
https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3284/ 숫자 n이 "happy"인지 확인하는 알고리즘을 작성하십시오. happy number는 다음 프로세스에 의해 정의된 숫자입니다. 양의 정수로 시작하여 숫자를 제곱의 제곱의 합계로 바꾸고 숫자가 1 (있을 때) 또는 반복될 때까지 프로세스를 반복하십시오. 이 과정이 1로 끝나는 숫자가 happy number입니다. n이 happy number이면 True, 아니면 False를 반환합니다. Example: Input: 19 Output: true Explanation: 1^2 + 9^2 = 82 8^2 + 2^2 = 68 6^2 + 8^2 = 100 ..
https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3283/ 정수 배열에서 숫자 하나 빼고는 모두 두 번씩 나옵니다. 한 번만 나오는 숫자를 찾으세요. 노트: 알고리즘은 선형 런타임 복잡성을 가져야 합니다. 여분의 메모리를 사용하지 않고 구현할 수 있을까요? Example 1: Input: [2,2,1] Output: 1 Example 2: Input: [4,1,2,1,2] Output: 4 첫 번째 문제인 만큼 난이도는 쉽습니다. 푸는 방법도 다양할 거 같네요. 노트에 적혀 있는 여분의 메모리를 사용하지 않고 구현한다니 그건 좀 쉽지 않아 보이네요. 간단하게 구현해 보았습니다. class Solution:..
단순 방법 풀이 class Solution { public: vector twoSum(vector& nums, int target) { vector answer(2); int right = nums[1]; unsigned long length = nums.size(); for (int i = 0; i < length; i++) { int left = nums[i]; for (int j=i+1; j