본문 바로가기
728x90
반응형

프로그래밍133

[C++] C++ 객체 지향 특성 캡슐화(Encapsulation)  - 캡슐화는 데이터를 외부에서 접근하는 것을 제한함으로서 데이터를 보호하는 객체 지향 특성입니다. C++에서 캡슐의 역할은 클래스이고, class 키워드를 이용하여 클래스를 만들 수 있습니다. 예를 들어, 자판기가 한 대 있다고 생각해봅시다. 자판기 안에는 데이터에 해당하는 음료수들이 많이 있습니다. 이 음료수들은 사람들이 돈을 지불해야 자판기 외부로 제공합니다. 하지만 돈을 지불하지 않고 데이터(음료수)에 접근하려고 하는 시도는 막아야합니다. 이와 같은 방법이 캡슐화입니다. 클래스 외부에서 클래스 내부에 데이터에 직접 접근을 제한하는 방법입니다. 이를 통해서 데이터를 보호할 수 있습니다. 상속성  - 객체 지향 언어에서 상속이란, 자식이 부모로부터 유산을 물려받는 개.. 2024. 8. 7.
[C++] C++ 언어의 특징 소개  -C++ 언어는 C언어의 문법적 규칙을 그대로 받아들여서 사용하며, 프로그래밍의 편리와 다양성을 위해 다음과 같은 기능을 추가하였습니다. C언어에서 1단계 업그레이드된 프로그래밍 언어이기 때문에 C언어 뒤에 ++를 붙여 C++언어가 되었다는 이야기도 있습니다.함수 중복  -C++ 언어에서는 매개 변수의 개수나 타입이 서로 다른 동일한 이름의 함수들을 선언할 수 있게 합니다. 함수 오버로딩이라고도 하는데 같은 이름의 함수가 다른 여러 가지 용도로 사용될 수 있는 것이죠.디폴트 매개 변수  -매개 변수에 값이 전달되지 않는 경우에는 기본으로 설정되어 있는 값인 디폴트 값이 전달되도록 함수를 선언할 수 있게 합니다.참조와 참조 변수  -변수에 별명을 붙여서 변수 공간을 같이 사용할 수 있는 참조의 개념.. 2024. 8. 7.
[C언어] 포인터를 이용한 swap 함수 구현 안녕하세요 아임코딩입니다.이번에는 C언어 함수에 대한 내용과 swap 함수에 대해서 알아보도록 하겠습니다.함수란 특정 기능을 하는 코드들의 집합입니다.단순하게 생각하면 단지 코드 여러줄을 모아 이름을 붙여놓은 것입니다. main 함수에 int 형 변수 a와 b가 있을 때우선 함수를 사용하지 않고 이 두 변수의 값을 바꿔보도록 하겠습니다.#include void main(){ int a = 1, b = 2; printf("swap을 호출하기 전: a = %d, b = %d\n", a, b); int tmp; tmp = a; a = b; b = tmp; printf("swap을 호출한 다음: a = %d, b = %d\n", a, b);}두 변수의 값을 바꾸기 위해서는 새로운 변수를 하나 만들어서 (tmp).. 2024. 4. 29.
[파이썬] 백준 2751번 수 정렬하기 2 문제 풀이 python 문제 설명 N개의 수가 주어졌을 때, 이를 오름차순으로 정렬하는 프로그램을 작성하시오. 문제 링크 https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 입출력 예시 프로그램 코드 import sys#입력 위한 sys 라이브러리 n = int(sys.stdin.readline())#n 입력 받기 li = []#빈 리스트 만들기 for i in range(n):#숫자 n개 입력 받아서 리스트에 저장 li.append(int(sys.stdin... 2024. 2. 6.
[파이썬] 백준 2609번 최대공약수와 최소공배수 문제 풀이 python 문제 설명 두 개의 자연수를 입력받아 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오. 문제 링크 https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 입출력 예시 프로그램 코드 a, b = map(int, input().split())#숫자 입력 m = 0#최대 공약수 저장 숫자 for i in range(1, a + 1):#최대 공약수 구하기 if a % i == 0 and b % i == 0: m = i print(m)#최대공약수 출력 print(m * (a // m) * (b // m))#최소 공배.. 2024. 2. 6.
[파이썬] 백준 2292번 벌집 문제 풀이 python 문제 설명 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다. 문제 링크 https://www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acm.. 2024. 2. 6.
728x90
반응형