본문 바로가기
728x90
반응형

프로그래머스 c++8

c++(cpp) 프로그래머스 - 코딩 테스트 : 나머지가 1이 되는 수 찾기 #include #include using namespace std; int solution(int n) { int answer = 0; for(int i = 2 ; i < n;) { if(n%i == 1) { answer = i; break; } i++; } return answer; } 2022. 7. 31.
c++(cpp) 프로그래머스 - 코딩 테스트 : 2016년 #include #include using namespace std; string solution(int a, int b) { string answer = ""; string week[7] = {"FRI", "SAT","SUN", "MON", "TUE", "WED", "THU"}; int month[13] = {0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31}; int sum=0; for(int i = 0; i < a; i++) { sum += month[i]; } sum += b-1; answer = week[sum%7]; return answer; } 2022. 7. 28.
c++(cpp) 프로그래머스 - 코딩 테스트 : 핸드폰 번호 가리기 #include #include using namespace std; string solution(string phone_number) { string answer = ""; for(int i = 0 ; i < phone_number.size() - 4 ; i++) { answer += '*'; } for(int j = phone_number.size() - 4 ; j < phone_number.size(); j++) { answer += phone_number[j]; } return answer; } 2022. 7. 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 #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.
c++(cpp) 프로그래머스 : 코딩테스트 - 폰켓몬 문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫.. 2022. 7. 22.
728x90
반응형