전체 글
-
191. Number of 1 Bits릿코드(LEETCODE) 2020. 2. 9. 00:34
https://leetcode.com/problems/number-of-1-bits/submissions/ Number of 1 Bits - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 입력으로 들어오는 unsinged int 자료형에서 bit 의 개수를 출력하는 문제 1 비트씩 shift 해서 출력하는 방법이 있고. class Solution { public: int hammingWeight(uint32_t n) { int sol = 0; while(n) {..
-
231. Power of Two릿코드(LEETCODE) 2020. 2. 8. 20:18
https://leetcode.com/problems/power-of-two 불러오는 중입니다... 와 이거 정말 환장하겠네 엄청 쉽다고 생각한 문제였는데 8번 연속 틀려서 막일로 접근해서 풀었음. 일단 2의 제곱인지 확인하는 문제임. 완전 노가다 접근 0 이면 제곱 아니면 1, 2 는 제곱수 그 외에의 2의 제곱인지 판단하기 위해서 테이블을 만듦 INT 자료 범위 맥스까지 2 곱해서 TABLE을 만든다. 모든 2의 제곱을 TABLE에 계산해서 기록한다. 이후 기록한 테이블과 입력으로 들어오는 N의 값이 같으면 TRUE N의 값이 TABLE에 값 보다 크다면 FALSE로 막일로 풀었다. 으아아 아.. class Solution { public: bool isPowerOfTwo(int n) { if(n =..
-
326. Power of Three릿코드(LEETCODE) 2020. 2. 8. 17:35
https://leetcode.com/problems/power-of-three 불러오는 중입니다... 3의 제곱수인지 확인 하는 문제 3으로 계속 나누어 나머지가 있으면 실패 그외의 경우 에러 처리함 class Solution { public: bool isPowerOfThree(int n) { // 이처리가 마음에 안듦 if(n == 1) { return true; } // 이처리가 마음에 안듦 if(n == 0) { return false; } while(true) { int cand = n % 3; // 나머지 있으면 3의 배수가 아니니 ㅂㅂ2 if(cand != 0) return false; n = n / 3; if(n == 1) { break; } } return true; } }; 허어 So..
-
1051. Height Checker릿코드(LEETCODE) 2020. 2. 8. 17:16
https://leetcode.com/problems/height-checker 불러오는 중입니다... 정렬을 활용한 접근 정렬을 하고 정렬된 값과 비교하여 틀린 횟수를 출력 sort는 O(nlogn)의 시간 복잡도, 반복문은 O(n) 의 시간 복잡도? O(nLogn) + O(n)? class Solution { public: int heightChecker(vector& heights) { int sol = 0; vector arr = heights; sort(arr.begin(), arr.end()); for (int i = 0; i < heights.size(); i++) { if (heights[i] != arr[i]) { sol++; } } return sol; } }; 이방법외에는 빠르게 접근..
-
1. Two Sum릿코드(LEETCODE) 2020. 2. 8. 16:41
https://leetcode.com/problems/two-sum 불러오는 중입니다... 두 수를 더해서 target의 값과 같으면 두 수의 index를 반환하는 문제 Bruth-force 접근 모든 경우의 수를 모두 탐색 하면 되니까 모두 찾아본다 2중 반복문이라서 일단 O(n)^2 Runtime: 224 ms, faster than 13.61% of C++ online submissions for Two Sum. Memory Usage: 9.2 MB, less than 94.82% of C++ online submissions for Two Sum. class Solution { public: vector twoSum(vector& nums, int target) { vector arr; const..
-
최고의 집합프로그래머스(Programmers) 2020. 2. 8. 16:27
https://programmers.co.kr/learn/courses/30/lessons/12938 코딩테스트 연습 - 최고의 집합 | 프로그래머스 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 집합으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 예를 들어서 자연수 2개로 이루어진 집합 중 합이 9가 되는 집합은 다음과 같이 4개가 있습니다. { 1, 8 }, { 2, 7 }, { 3, 6 }, { 4, 5 } 그중 각 원소의 곱이 최대인 { 4, 5 } programmers.co.kr 예전에 풀었던 문제인대 조금더 우아하게 짤수는 없으려나 #include..
-
213. House Robber II릿코드(LEETCODE) 2020. 2. 8. 15:20
https://leetcode.com/problems/house-robber-ii/ House Robber II - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com dp 접근 0 부터 마지막 -1 까지 dp 합 1 부터 마지막까지 dp 합 두수중 가장 큰 수를 출력 class Solution { public: int rob(vector& nums) { int size = nums.size(); if(size == 0) return 0; else if(size ==..
-
도둑질프로그래머스(Programmers) 2020. 2. 8. 15:18
https://programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 | 프로그래머스 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 두 집을 털면 경보가 울립니다. 각 집에 있는 돈이 담긴 배열 money가 주어질 때, 도둑이 훔칠 수 있는 돈의 최댓값을 return 하도록 solution 함수를 작성하세요. 제한사항 이 마을에 있는 집은 3개 이상 1,000,000개 이하입니다. money 배열의 각 programmers.co.kr leetcode 의 house robber 문제랑 유사 이웃하지 않은 집 노..