Pink Transparent Star

분류 전체보기 161

[백준] 재귀함수 - 팩토리얼

재귀함수(Recursion Function)란? 함수에서 자기 자신을 다시 호출해 작업을 수행하는 방식 반복적으로 특정 분기까지 자기 자신을 계속해서 호출할때 사용한다. 문제 ] 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. 입력 ] 첫째 줄에 정수 N(0 ≤ N ≤ 12)이 주어진다. [ 코드 ] #include using namespace std; int Factorial(int num) { if (num > num; cout

Coding Test/백준 2022.09.02

[ 열혈 c++ 프로그래밍 ] Part2 - 1

[ 참조자 기반의 Call-by-reference 구현 ] 더보기 01. 참조자를 이용해서 다음 요구사항에 부합하는 함수를 각각 정의하여라. 1. 인자로 전달된 int형 변수의 값을 1씩 증가시키는 함수 2. 인자로 전달된 int형 변수의 부호를 바꾸는 함수 그리고 위의 각 함수를 호출하여 그 결과를 확인하는 main 함수까지 작성하여라. #include using namespace std; void AddNumber(int& ref1, int& ref2); void ChangeNumber(int& ptr1, int& ptr2); int main(void) { int num1 = 10; int num2 = 20; int num3 = -30; int num4 = 40; AddNumber(num1, num2..

[ 열혈 c++ 프로그래밍 ] Part1 - 3

[ 매개변수의 디폴드 값 ] 더보기 01. 예제 DefaultValue3.cpp에 정의된 함수 BoxVolume를 '매개변수의 디폴드 값 지정' 형태가 아닌, ' 함수 오버로딩'의 형태로 재 구현해보자. 물론 main 함수는 변경하지 않아야 하며, 실행결과도 동일해야한다. #include using namespace std; int BoxVolume(int x, int y, int z) { return x * y * z; } int BoxVolume(int x, int y) { return x * y; } int BoxVolume(int x) { return x; } int BoxVolume() { return 0; } int main(void) { cout

디폴트 매개변수( Default Value )

디폴트 값이란 무엇인가? 함수 호출 시 인자를 넣지 않는 경우 기본적으로 설정되어 있는 값을 의미한다. 반대로, 인자를 넣는 경우에는 설정 되어있는 값을 사용하는 것이 아닌 현재 넣는 인자의 값을 사용한다. 디폴트 매개변수를 사용하는 방법은 무엇인가? 함수 호출 시 매개변수에 "= 값 "을 사용하여 값을 설정 할 수 있다. 아래의 예제를 보고 내용을 확인 해보겠습니다. #include using namespace std; int Sum(int x = 1, int y = 2); int main(void) { cout

C++언어 2022.08.25

[ 자료구조 ] 배열 & 리스트 & 백터

각 항목에 마다 자세히 설명한 것이 아닌 간략하게 정리하고자 한다. 배열(Array) 란? : 여러 데이터를 하나의 이름으로 그룹 지어 관리하기 위한 자료구조를 의미한다. : 연속적으로 메모리 공간이 이루져있으며 index를 통해 해당하는 원소에 접근이 가능이 가능하다. 하지만 정의와 동시에 배열의 길이가 지정되어 있어 차후에 배열의 길이를 변경하는 것은 불가능하다. 장점 index를 통하여 값에 바로 접근이 가능하여 검색 성능이 좋다. 연속적으로 이루어져 메모리 관리에 용의하다. 단점 데이터 삽입, 삭제 시 모든 항목의 요소들을 이동 시켜야 하기 때문에 작업 수행에 있어서 비효율적이며, 성능 저하를 일으킨다. 컴파일 이후엔 지정된 크기를 바꿀 수 없다. 이로 인해 메모리 크기를 크게 잡는 경우 메모리 ..

'Call by Value'와 'Call by Reference'

기술 면접 중 대표적으로 알아야할 내용들은 하나씩 정리해보고자 한다. 먼저 대표적으로 함수를 호출하는 방법이 2가지 존재한다. 함수에 정의한 매개변수의 형태에 따라 결정이 된다. "Call by Value" : 값을 통한 호출 "Call by Reference" : 참조를 통한 호출 Call by Value 함수에서 값을 복사해서 전달하는 방식으로 인자로 전달되는 변수를 함수의 매개변수에 복사하는 것을 의미한다. 복사가 된 경우 인자로 전달된 변수와는 다른 변수로 된다. 매개변수를 변경하더라도 원래의 변수에는 영향을 미치지 않는다. 원본 값을 변경할 필요없을 경우 해당 방식을 사용하면 된다. But 원본의 내용을 복사 하기때문에 메모리의 사용량이 늘어난다. 대표적인 예로 선언된 변수를 Swap함수를 통해..

[ Unity ] 똥 피하기 게임 만들기

https://youtu.be/B6bNI0buoyc 유튜버 Dev GomDol님의 똥피하기 게임으로 Unity를 이용하여 공부할 겸 제작해 보았습니다. [ 강의를 들으면서 새로 알게 된 내용 ]private void ScreenChk() { Vector3 woripos = Camera.main.WorldToViewportPoint(this.transform.position); //월드 공간에서의 위치 값을 뷰포트 공간으로 바꿔서 가지고옴 if (woripos.x 0.95f) { woripos.x = 0.95f; } this.transform.position = Camera.main.View..

함수 오버로딩 ( Function Overloading)

함수 오버로딩, 함수 중복는 C언어에선 없는 문법 중 하나이다 . 그럼 함수 오버로딩의 정의는 무엇인가?? - 함수 호출 시 '함수의 이름' 과 '전달되는 인자의 정보'를 참조하여 결정한다. 즉, 동일한 이름의 함수으로 매개변수의 갯수와 자료형이 다른 함수를 말하며 컴파일러가 어떤 함수를 사용할지 결정 한다. 왜 C언어에선 함수 오버로딩이 불가능할가? - C++의 경우 함수이름, 매개변수의 선언을 기준으로 판단하고 호출 함수를 찾는다 반명에 C언어의 경우 함수이름만 이용하여 호출 함수를 찾기 때문에 판단하기 힘들어 함수 오버로딩이 불가능하다. [ 함수 오버로딩 성립 - 매개변수 자료형만 다름 ] int MyFunc(char c) {...} int MyFunc(int c) {...} [ 함수 오버로딩 성립..

C++언어 2022.04.20