[C++] 명품 C++ Programming 4장 연습문제
·
Major/C&C++
4장 연습문제1. // 1)Rect *p;// 2)p = &r//3)cout getWidth() getHeight(); 2.// 1)q = new Rect(w, h);// 2)cout getArea();// 3)delete q; 3. ①기본 생성자가 없기 때문에 오류난다. 4. Rect클래스의 기본 생성자를 만든다.Rect(); 5.for(int i=0; i 6. ④c는 객체이므로 (*c).getVolume()은 지정되어 있지 않다.  7. ④delete는 동적으로 배열을 생성했을 때 사용이 가능하다. 8.기본생성자기본생성자기본생성자소멸자소멸자소멸자 9. ①new와 delete는 기본 연산자다. 10.배열로 객체를..
[프로그래머스] 두 개 뽑아서 더하기
·
Algorithm/Solution
코딩테스트 연습 - 두 개 뽑아서 더하기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 두 개 뽑아서 더하기 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한 programmers.co.kr 🔎 풀이 과정 answer벡터에 모든 더한값을 push하고, 정렬한다. 그 후 중복을 제거해준다. => [C++] vector 배열 중복 제거 하는 법 (tistory.com) #include #include #include using namespace std; vector solution(vector numbers) { ..
[프로그래머스] 3진법 뒤집기
·
카테고리 없음
코딩테스트 연습 - 3진법 뒤집기 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 🔎 문제 설명 10진법을 3진법으로 바꾸고 거꾸로 뒤집은다음 10진법으로 표현해라! 🔎 풀이 과정 n을 n1에 저장하고, 나눠지는 횟수를 카운트 한다. 그리고 카운트한 만큼 나눠주면서 3의 거듭제곱과 그 나머지를 곱해주는 방식! 근데 먼가....음.... 다른사람들 풀이보니까 스택쓰면 더 편하게 했을 거같다. 코드가 중복되니까 별로..
[프로그래머스] 약수의 개수와 덧셈
·
Algorithm/Solution
코딩테스트 연습 - 약수의 개수와 덧셈 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 약수의 개수와 덧셈 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주 programmers.co.kr 🔎 문제 설명 left부터 right까지 약수의 개수가 짝수면 더하고 홀수면 빼는 방식 🔎 풀이 과정 함수하나를 만들어서 약수의 개수가 짝수면 x를 리턴하고, 홀수면 -x를 리턴하게 했다. 약수의 개수는 1부터 x까지 나머지가 0인 것을 카운트해주면 된다. #include #include using namespace st..
[프로그래머스] 내적
·
Algorithm/Solution
코딩테스트 연습 - 내적 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 내적 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 programmers.co.kr 쉬워서 설명 생략 #include #include using namespace std; int solution(vector a, vector b) { int answer = 0; for(int i=0; i< a.size(); i++){ answer += a[i]*b[i]; } return answer; }
[C++] 명품 C++ Programming 4장 개념정리
·
Major/C&C++
04 Chapter - 객체 포인터와 객체 배열, 객체의 동적 생성 1. 객체 포인터 객체에 대한 포인터 변수 선언 Circle *p; 포인터 변수에 객체 주소 지정 p = &donut; // p에 donut 객체 주소 저장 Circle* p = &donut; // 선언과 동시에 초기화 포인터를 이용한 객체 멤버 접근 d = donut.getArea(); //객체 이름으로 멤버 함수 호출 d = p->getArea(); //포인터로 객체 멤버 함수 호출 d = (*p).getArea(); ※ 초기화 하지 않은 객체 포인터를 이용하면 오류(null pointer assignment)가 발생한다 2. 객체 배열 1) 객체 배열 선언 및 활용 객체 배열 선언 Circle circleArray[3]; - cir..
[프로그래머스] 두 정수 사이의 합
·
Algorithm/Solution
코딩테스트 연습 - 두 정수 사이의 합 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 간단한 문제라 생략 #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; long long tmp; if(a>b){ tmp = a; a = b; b = tmp; } for(int i=a;i
[C언어로 쉽게 풀어쓴 자료구조] 03장 - 연습문제
·
Major/Data Structure
3Chapter 배열, 구조체, 포인터 - 연습문제 1. ④ 해설 : 4 * 10 * 20 = 800 2. ④ 해설 : 1000 + 4(float)*10 = 1040 3. ② 1) 40 2) 80 3) 40 4) 40 4. int main() { int two[10]; for (int i = 0; i < 10; i++) { two[i] = pow(2, i); printf("%d ", two[i]); } } 5. struct person { char name[10]; int age; float wage; } 6. typedef complex { float real; float imaginary; } complex; complex c1, c2; 7. typedef struct Complex { int rea..
[프로그래머스] 위클리 챌린지 2주차 문제 - 상호 평가(C++)
·
Algorithm/Solution
코딩테스트 연습 - 2주차 | 프로그래머스 (programmers.co.kr) 코딩테스트 연습 - 2주차 [[100,90,98,88,65],[50,45,99,85,77],[47,88,95,80,67],[61,57,100,80,65],[24,90,94,75,65]] "FBABD" [[70,49,90],[68,50,38],[73,31,100]] "CFD" programmers.co.kr 🔎 문제 설명 score라는 보드에 학생들의 상호평가 점수가 주어진다. 각 학생들이 받은 평가의 평균을 구해 기준에 따라 학점을 부여함 만약 자기자신을 평가한 점수가 유일한 최고/최저점이면 그 점수는 제외하고 평균을 구할 때 제외함. 🔎 풀이 과정 생각보다 쫌 헤맸던 문제... 행과 열을 반대로 계산하고 있어서 왜틀렸지?? ..