본문 바로가기

분류 전체보기133

[C++] 연속된 수의 합 연속된 수의 합 연속된 세 개의 정수를 더해 12가 되는 경우는 3, 4, 5입니다. 두 정수 num과 total이 주어집니다. 연속된 수 num개를 더한 값이 total이 될 때, 정수 배열을 오름차순으로 담아 return하도록 solution함수를 완성해보세요. total + (total - 1) + (total - 2) + ... + (total - num) 이렇게 num개 만큼 더한 수가 처음 total 값과 같은 경우를 생각합니다. total 값을 1씩 빼면서 반복해주면 됩니다. #include #include using namespace std; vector solution(int num, int total) { vector answer; int sum, total_tmp = total; wh.. 2023. 5. 24.
[C++] 치킨 쿠폰 치킨 쿠폰 프로그래머스 치킨은 치킨을 시켜먹으면 한 마리당 쿠폰을 한 장 발급합니다. 쿠폰을 열 장 모으면 치킨을 한 마리 서비스로 받을 수 있고, 서비스 치킨에도 쿠폰이 발급됩니다. 시켜먹은 치킨의 수 chicken이 매개변수로 주어질 때 받을 수 있는 최대 서비스 치킨의 수를 return하도록 solution 함수를 완성해주세요. 100마리를 주문하면 쿠폰이 100장 발급되므로 서비스 치킨 10마리를 주문할 수 있습니다. 10마리를 주문하면 쿠폰이 10장 발급되므로 서비스 치킨 1마리를 주문할 수 있습니다. 결국 100마리를 주문하면 총 100 + 10 + 1 마리를 주문하기 때문에 쿠폰으로 10마리가 되는 경우도 고려해야 합니다. #include #include using namespace std;.. 2023. 5. 23.
[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++] String 공백 분리 C++ STL sstream을 사용하여 문자열의 공백을 기준으로 분리합니다. 공백을 기준으로 분리한 후 변수에 저장, vector에 저장 #include #include #include #include using namespace std; int main(){ // 공백 분리할 문자열 선언 string str = "aaa bb c"; // 문자열을 스트림화 stringstream ss(str); string word; vector words; // 스트림을 통해, 문자열을 공백 분리해 vector에 할당 while (getline(ss, word, ' ')) { words.push_back(word); } cout 2023. 5. 18.
[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.