본문 바로가기
728x90
반응형

프로그래머스28

c++(cpp) 프로그래머스 : 코딩 테스트 - 최대공약수와 최소공배수 #include #include using namespace std; int GCD(int n, int m) { int r; while (m != 0) { r = n % m; n = m; m = r; } return n; } vector solution(int n, int m) { vector answer; answer.push_back(GCD(n,m)); answer.push_back((n*m) / answer[0]); return answer; } 2022. 7. 27.
c++(cpp) 프로그래머스 : 코딩 테스트 - 제일 작은 수 제거하기 #include #include #include using namespace std; vector solution(vector arr) { vector answer; int mini = arr[0]; if(arr.size() arr[i]) { mini = arr[i]; } else { continue; } } for(int k = 0 ; k < arr.size() ; k++) { if(arr[k] == mini) { arr.erase(arr.begin() + k); } } answer = arr; } return answer; } 2022. 7. 27.
c++(cpp) 프로그래머스 : 코딩 테스트 - 정수 제곱근 판별 #include #include #include using namespace std; long long solution(long long n) { long long answer = 0; int num = sqrt(n); if( pow(num, 2) == n) { answer = pow(num+1,2); } else if(n == 1) { answer = 4; } else { answer = -1; } return answer; } 2022. 7. 27.
c++(cpp) 프로그래머스 : 코딩 테스트 - 정수 내림차순으로 배치하기 #include #include #include using namespace std; long long solution(long long n) { long long answer = 0; string temp = to_string(n); sort(temp.begin(), temp.end(), greater()); //string 873211 answer = stoll(temp); return answer; } 2022. 7. 27.
c++(cpp) 프로그래머스 : 코딩 테스트 - 자연수 뒤집어 배열로 만들기 #include #include using namespace std; vector solution(long long n) { vector answer; string s = to_string(n); for(int i = s.size() ; i > 0 ; i--) { answer.push_back(s[i-1]-'0'); // answer.push_back(s[i-1]-48); 도 가능 } return answer; } 2022. 7. 26.
c++(cpp) 프로그래머스 : 코딩 테스트 - 자릿수 더하기 #include #include using namespace std; int solution(int n) { int answer = 0; string s = to_string(n); for(int i = 0 ; i < s.size(); i++) { s[i] = s[i] - 48; //48대신 '0'으로 써도 된다. //s[i] = s[i]-'0'; 이렇게.. answer += s[i]; } return answer; } 2022. 7. 26.
c++(cpp) 프로그래머스 : 코딩테스트 - 신규 아이디 추천 #include #include #include #include using namespace std; string solution(string new_id) { string answer = ""; // 소문자 치환 for(char& ch : new_id) { ch = tolower(ch); } // 소문자, 숫자, -, _, . 제외한 모든 문자 제거 for(char ch : new_id) { if(isalpha(ch) || isdigit(ch) || strchr("-_.", ch)) answer += ch; } // .가 두개 이상 -> 하나로 int idx = -1; while((idx = answer.find("..")) != -1) //answer안에 ..이 있을 때 까지 돌기 { answer.r.. 2022. 7. 26.
c++(cpp) 프로그래머스 : 코딩 테스트 - 이상한 문자 만들기 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 sreturn "try hello world""TrY HeLlO WoRlD" 입출력 예 설명 "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 ".. 2022. 7. 26.
c++(cpp) 프로그래머스 : 코딩테스트 - 같은 숫자는 싫어 (효율성 실패) 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 .. 2022. 7. 22.
728x90
반응형