본문 바로가기
728x90
반응형

c++20

[C++] 가상 함수와 비 가상 함수 가상함수는 다형성을 구현하는 핵심 메커니즘으로, 객체지향 프로그래밍에서 중요한 역할을 한다.비 가상함수는 성능이 중요한 경우에 선호되며, 가상함수는 유연한 설계가 필요한 경우에 사용된다.이는 C++에서 중요한 개념이다. 호출 방식비 가상 함수정적 바인딩을 사용한다.(static binding)컴파일 시간에 어떤 함수를 호출할 지 결정된다.(함수 주소가 컴파일 시 결정됨)객체의 선언된 타입을 기준으로 함수가 호출된다.가상 함수동적 바인딩을 사용한다.(dynamic binding)런타임에 어떤 함수를 호출할지 결정된다.객체의 실제 타입을 기준으로 함수가 호출된다.메모리 구조비 가상 함수클래스의 모든 객체가 함수를 공유한다.별도의 메모리 공간에 위치하며, 객체 내부에 존재하지 않는다.가상 함수가상함수 테이블을.. 2025. 3. 18.
[Programmers] 안전지대 (c++) https://school.programmers.co.kr/learn/courses/30/lessons/120866 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr2차원 배열에서 폭탄이 없는 안전지대만 count해 return 해주는 함수를 짜면 된다.2차원 배열을 순회하여 폭탄이 있으면 그 주위값을 2로 만들고, 0인값을 카운팅 하는것으로 문제를 해결했다.더 좋은 풀이 방법이 있을 것 같다.추후에 더 좋은 방법이 생길 시 업데이트 해야겠다.#include #include using namespace std;void SetBomb(vector>& board, int row, int col) { if.. 2025. 3. 17.
[Programmers] 최고의 집합 (c++) https://school.programmers.co.kr/learn/courses/30/lessons/12938 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krN개의 합이 S인 원소집합 중 각 원소의 곱이 제일 큰 수를 찾는 것이다.4, 16 =>  4,4,4,44, 17 => 4,4,4,54, 18 => 4,4,5,54, 19 => 4,5,5,54, 20 => 5,5,5,5S%N의 개수만큼 원소에 1을 더하면 된다.기본값은 S/N이다.vector solution(int n, int s) { vector answer; int mid = s / n; int l = s % n; if (mid 2025. 3. 11.
[Programmers] 하샤드 수(c++) https://school.programmers.co.kr/learn/courses/30/lessons/12947 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제는 위 참고하샤드 수주어진 진법에서 그 수의 각 자릿수 숫자의 합으로 나누어떨어지는 자연수 설명할게 많이 없어서 코드 먼저 첨부#include using namespace std;bool solution(int x) { bool answer = true; string str = to_string(x); int a = 0; for (int i = 0; i c++은 문자를 int로 받을 때 ASCII코드값으로 변환을 한다.그러므로 변환 시 .. 2025. 3. 6.
[Programmers] 기지국 설치(c++) https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제는 위 참고결국 주어진 N으로 주어진 범위 외에 추가적으로 필요한 범위를 찾는 문제다.나는 시작과 끝을 기준으로 작업했다.위와 같이 주어졌을 때(n = 9, station = {4}, w = 1)station을 기준으로 -w-1 => 앞쪽의 남은 칸 개수station을 기준으로 +w => 뒤쪽의 칸n - 뒤쪽 칸 =>  뒤쪽의 남은 칸 개수w가 1이므로 기지국이 커버하는 바운더리는 총 3∴ station -w(1) -1 = 22는 하나의 기지.. 2025. 3. 4.
[Programmers] 삼총사 (c++) 문제 설명한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다.한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를 완성하세요... 2025. 2. 17.
728x90
반응형