반응형 알고리즘211 [알고리즘] c++ cpp 나누어 떨어지는 숫자 배열 포인트 1. 나누어 떨어진다는 것은 나머지가 없다는 것이다. (결국 문제를 이해하는 능력이 중요하다. ) 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; for(int i=0; i 2020. 10. 21. [알고리즘] c++ cpp 같은 숫자는 싫어 포인트 1. stl 에서는 중복 숫자를 제거하는 함수가 있다. `unique()` 알아두면 상당히 편하다 2. set 을 사용하여 중복 숫자를 제거할 수 있지만 자동으로 정렬할 수 있기 때문에 피하는 것이 좋다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include using namespace std; vector solution(vector arr) { arr.erase(unique(arr.begin(), arr.end()), arr.end()); return arr; } 2020. 10. 21. [알고리즘] c++ cpp 가운데 글자 가져오기 포인트 1. string 을 받는 크기에 따라서 값이 달라진다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include #include using namespace std; string solution(string s) { string answer = ""; int a = s.size(); if (a & 1) { answer += s[a / 2]; } else { int index = a / 2; answer += s[index - 1]; answer += s[index]; } return answer; } 2020. 10. 21. [알고리즘] c++ cpp 3진법 뒤집기 포인트 1. 진법 변환은 각 요령을 구한 뒤 체득화할 필요가 있다. 2. 11진수로 넘어가면 값을 직접 넘기는 것이 편할 수 있다. 🧶문서는 항상 수정 될 수 있습니다. 비판은 환영합니다. #include using namespace std; char map[] = {'0', '1', '2'}; int solution(int n) { int answer = 0; string s; if(n==0) return 0; while(n>0){ s+=map[n%3]; n/=3; } int b=1; for(int i=s.size()-1; i>=0;i--){ answer += (s[i]-'0')*b; b*=3; } return answer; } 2020. 10. 21. 이전 1 ··· 37 38 39 40 41 42 43 ··· 53 다음 반응형