알고리즘/프로그래머스53 [C++] 다음에 올 숫자 다음에 올 숫자 등차수열 혹은 등비수열 common이 매개변수로 주어질 때, 마지막 원소 다음으로 올 숫자를 return 하도록 solution 함수를 완성해보세요. 원소의 값이 음수가 될 수 있기 때문에, 등차수열인 경우와 등비수열인 경우에 예외조건인 경우를 고려하였습니다. 1. 배열이 등차수열인 경우 2. 등비수열일 경우에 2-1. 공비가 양수인 경우 2-2. 공비가 음수인 경우 3. 원소가 모두 0인 경우 이렇게 조건을 나누어 원소 3개를 비교하였습니다. #include #include using namespace std; int solution(vector common) { int answer = 0; if (common[1] - common[0] != common[2] - common[1]){ .. 2023. 5. 23. [C++] 숫자 문자열과 영단어 2021 카카오 채용연계형 인턴십 코딩테스트 1번 숫자 문자열과 영단어 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 입력받은 문자열 s와 출력 답 "one4seveneight" 1478 "23four5six7" 234567 "2three45sixseven" 234567 "123" 123 이 문제는 입력받은 문자열s 에서 zero~nine 에 해당하는 문자를 숫자로 바꾸어 출력하는 문제입니다. 영어 문자열을 찾.. 2023. 5. 23. [C++] 유한소수 판별하기 유한소수 판별하기 두 정수 a와 b가 매개변수로 주어질 때, a/b가 유한소수이면 1을, 무한소수라면 2를 return하도록 solution 함수를 완성해주세요. 분자와 분모의 최대공약수로 분모를 나눈 뒤, 그 분모가 2, 5 가 아닌 소수로 나눠지면 무한소수, 아니라면 유한소수입니다. #include #include #include using namespace std; // 소수 구하기 O(log n) bool isPrime2(int n) { for (int i = 2; i 2023. 5. 22. [C++] 문자열 밀기 문자열 밀기 문자열 A와 B가 매개변수로 주어질 때, A를 밀어서 B가 될 수 있다면 밀어야 하는 최소 횟수를 return하고 밀어서 B가 될 수 없으면 -1을 return 예를 들어 A가 "hello" B가 "ohell" 이면 hello를 우측으로 1번 민다고 생각하면 됩니다. A를 한칸씩 우측으로 밀어보면서 B와 비교하여 풀었는데, 다른사람의 풀이를 보고 감탄을 하여 바로 가져왔습니다. 나의 풀이 #include #include #include using namespace std; int solution(string A, string B) { int answer = 0, b = A.size(); string a = ""; if(A == B) return 0; else{ for(int i = 0; i .. 2023. 5. 22. [C++] (공백분리) 컨트롤 제트 컨트롤 제트 숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때 답을 return #include #include #include using namespace std; int solution(string s) { int answer = 0; int tmp; stringstream ss(s); vector words; string word; while (getline(ss, word, ' ')) { words.push_back(word); } for (int i = 0; i < words.size(); i++) { if (words[i].. 2023. 5. 19. [C++] 소인수분해, 7의 개수 소인수분해 자연수 n이 매개변수로 주어질 때 n의 소인수를 오름차순으로 담은 배열을 return하도록 solution 함수를 완성해주세요. #include #include #include using namespace std; // n이 소수인지 판별 bool isPrime(int n) { if (n < 2) return false; for (int i = 2; i * i 2023. 5. 18. [C++] 중복된 문자 제거, 가장 큰 수 찾기 중복된 문자 제거 문자열이 매개변수로 주어질 때, 문자열에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열 return #include #include #include using namespace std; string solution(string my_string) { string answer = ""; vector str; for(int i=0; i < my_string.size(); i++){ if(find(str.begin(), str.end(), string(1, my_string[i])) == str.end()){ answer += string(1, my_string[i]); } str.push_back(string(1, my_string[i])); } return answer; } 가장 큰.. 2023. 5. 17. [C++] (대소문자 범위) 문자열안에 문자열, 숨어있는 숫자의 덧셈 (1) 문자열에 문자열 문자열 str, str2가 매개변수로 주어지면 str2가 str1에 포함되는지 판별하는 문제입니다. string의 find() 함수를 이용합니다. str2 가 str1 안에 포함된다면 string::npos을 반환합니다. #include #include using namespace std; int solution(string str1, string str2) { if (str1.find(str2) != string::npos){ return 1; } return 2; } 숨어있는 숫자의 덧셈 (1) 문자열 my_string이 매개변수로 주어질 때, my_string안의 자연수들의 합을 반환하는 문제입니다. 문자의 아스키코드 값으로 접근할 수 있는 문제입니다. #include #includ.. 2023. 5. 16. 이전 1 ··· 3 4 5 6 다음