일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- Linux
- 백준 1253번
- UActor
- Unreal
- C++
- 언리얼 커스텀 플러그인
- OS
- 5639
- 데이터베이스 배움터
- 실습
- SQL
- command not found
- 언리얼 플러그인
- hackerank
- 2단계로킹
- oracle
- 1967번
- 셰그먼트트리
- 1759번
- objtofbx
- FBX
- Security
- 의미와 무의미의 경계에서
- 오손데이터읽기
- 1253번
- UnrealMP
- 백준
- 트랜잭션 관리
- 민겸수
- 비재귀셰그먼트
- Today
- Total
목록코딩 인터뷰/프로그래머스 (21)
fatalite
Problem 난이도 : 프로그래머스 1단계 63% 분류: 해시(?), Set, Unique Solution #include #include using namespace std; int solution(vector nums) { int answer = 0; int size = nums.size() / 2; //Implementation set IntegerSet; for(int i : nums){ IntegerSet.insert(i); } if(IntegerSet.size() > size){ return size; }else{ return IntegerSet.size(); } }
Problem 난이도: 프로그래머스 2단계 67% 분류: 최소공배수, 최대공약수(GCD, LCM) Solution #include #include #include using namespace std; int gcd(int a, int b){ if(b == 0){ return a; }else{ return gcd(b, a % b); } } int solution(vector arr) { int answer = arr[0] * arr[1] / gcd(arr[0], arr[1]); for(int i = 2; i < arr.size(); i++){ answer = answer * arr[i] / gcd(answer,arr[i]); } return answer; }
Problem 난이도 : 프로그래머스 2단계 68% 분류 : 비트 연산, 이진법 Ideal Solution #include using namespace std; int solution(int n, int a, int b) { int answer = 0; while (a != b) { a = (a + 1) >> 1; // 2 1 1 b = (b + 1) >> 1; // 4 2 1 ++answer; } return answer; } My Solution #include using namespace std; int solution(int n, int a, int b) { int answer = 0; if(a > b){ int tmp = a; a = b; b = tmp; } while(answer < n){ a..
Problem 난이도 : 프로그래머스 2단계 68% 분류 : Greedy Solution #include #include #include #include using namespace std; int solution(vector people, int limit) { int answer = 0; sort(people.begin(),people.end(),greater()); int left = 0; int right = people.size() - 1; while(left limit && left
Problem 난이도 : 프로그래머스 2단계, 69% 분류 : 완전탐색 Soultion #include #include #include using namespace std; // 2개 -> 1 x 2 // 테두리까지하면 3 x 4 // 6개 -> 3 x 2 , 6 x 1 vector solution(int brown, int yellow) { vector PossibleInteger; vector answer; for(int i = yellow; i >= 1; i--){ if(yellow % i == 0){ PossibleInteger.push_back({i,yellow/i}); } } for(pair p : PossibleInteger){ if((p.first+2) * (p.second + 2) == ..
Problem 문제 난이도 : Programmers 2단계 69% 분류 : Implementation 같음 Solution #include #include #include #include using namespace std; vector solution(int n, vector words) { vector answer; answer.push_back(0); answer.push_back(0); vector UsedWords; UsedWords.push_back(words[0]); for(int i = 1; i < words.size(); i++){ if(find(UsedWords.begin(),UsedWords.end(),words[i]) == UsedWords.end()){ if(UsedWords.ba..
Problem 난이도 : 프로그래머스 2단계 정답률 : 73% 분류 : 정수 분할(?), 내가 푼 방법은 Lazy start이다. Solution #include #include #include using namespace std; int solution(int n) { int cnt = 0; int left = 1; int right = 1; while(right >= left){ int sum = 0; for(int i = left; i
Problem 난이도 : 프로그래머스 2단계 75% 범위 : 음,, 단순 반복문, 문자열, 데이터형 Solution #include #include #include #include using namespace std; vector solution(string s) { vector answer; int j = 0; int ZeroCount = 0; while(s.size() > 1){ j++; string NewString; for(int i = 0; i ..
Problem 문제 : 프로그래머스 2단계 정답률 75% 분류 : 스택 / 큐라는데,, 다른 방식으로 풀었다 그리고 테스트 케이스의 도움을 받은 문제이다 복습하자!! Solution #include #include using namespace std; bool solution(string s) { bool answer = true; if(s.size() % 2 != 0) return false; if(s.back() == '(') return false; if(s.front() == ')') return false; int left = 0; int right = 0; while(!s.empty()){ if(s.back() == '(') left++; if(s.back() == ')') right++; s..
Problem 단계 : 2단계 (어떻게 이게 전에 푼 구현 문제랑 같은 단계지..) 분류 : 정렬 Solution #include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; sort(A.begin(),A.end()); sort(B.begin(),B.end()); for(int i : A){ answer = answer + i * B.back(); B.pop_back(); } return answer; }