전체 글

Let's try something first and experience it a lot.
· PS/백준
C++ #include //bubble_sort using namespace std; void bubble_sort(int nums[], const int& SIZE); void printNums(int nums[], const int& SIZE); void swap(int* p1, int* p2); int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; int inputNumber; int nums[1000]; cin >> n; //n번째까지 입력을 받습니다. for (int i{ 0 }; i > nums[i]; } //정렬합니다. bubble_sort(nums, n); //출력합니다. printNums(n..
· C++
들어가면서이번 글은 아래 글의 후속편이다. this 포인터에 대해 잘 모르겠으면 아래 글을 보고 다시 오자! https://logicallaw.tistory.com/entry/C-클래스-내부의-this-포인터의-역할 C++ : 클래스 내부의 this 포인터의 역할(this->멤버, (*this).멤버)this 포인터 클래스 내부에서 this 포인터는 모든 멤버함수의 default 매개변수이다. (자세히 말하면, friend 함수를 제외하고 모든 멤버함수에 존재한다.) 즉, 모든 멤버함수(또는 생성자)에서 this 포logicallaw.tistory.comCascaded Function Calls이란?Cascaded Function Calls는 멤버함수 체이닝 또는 연쇄호출이라고 불리기도 한다.(이하 멤버..
· C++
this 포인터 클래스 내부에서 this 포인터는 모든 멤버함수의 default 매개변수이다. (자세히 말하면, friend 함수를 제외하고 모든 멤버함수에 존재한다.) 즉, 모든 멤버함수(또는 생성자)에서 this 포인터를 사용할 수가 있다. this 포인터는 기본적으로 해당 객체의 주소를 가리키게 된다. 따라서, 클래스 내부에서 this 포인터로 private 멤버에 접근할 수 있게 되는데 this 포인터 사용법에 대해 아래 예제와 함께 살펴보도록 하자. #include using namespace std; class Tmp{ private: int x = 0; public: explicit Tmp(int num) : x { num } {} void print() const { cout
· C++
들어가면서 클래스 생성자의 종류는 여러가지이다. 기본생성자부터 시작해 매개변수가 있는 생성자(이하 매개변수 생성자), 복사생성자, 이동생성자, 그리고 변환생성자가 존재한다. 변환생성자는 매개변수 생성자와 유사한 점이 있어서 혼동하기 쉬운 개념인데 이번 글에서 명확하게 구분하고 가자. 변환생성자란? 변환생성자는 단일 매개변수를 갖는 생성자로, 다른 타입의 값을 해당 클래스 타입으로 변환할 때 호출되는 생성자(멤버 함수)이다. 이해를 쉽게 하기 위해 아래 예제를 먼저 살펴보도록 하자. int number = 10; int 타입의 number는 대입연산자(=)에 의해 10을 변수 number에 할당하고 있는 모습이다. 이때, 대입연산자(=)는 오른쪽의 값을 왼쪽에 할당하는게 포인트이다. 그렇다면, 아래 예제에..
· Swift
Optionals : optional Type에 대해 알아보자.Optionals는 변수나 상수가 다른 타입으로 초기화될 때 값의 선택의 여지를 주는 것을 말한다.아래 코드를 같이 살펴보도록 하자.possibleNumber 상수는 자동 타입 추론에 의해 String 타입이다.convertedNumber 상수는 String 타입을 Int 타입으로 초기화되었다. 위 코드는 컴파일 에러가 발생하지 않는데 그 이유는 possibleNumber 값이 모두 숫자로 변환이 가능하기 때문이다.하지만, 해당 값에 문자가 일부 포함되어있으면 String 타입에서 Int 타입으로 타입 변환이 불가능하고 컴파일 에러가 발생할 것이다. Swift는 이를 방지하기 위해 optional을 부여하는데 타입이 변환되는 converted..
· C++
들어가면서 클래스를 공부하다보면 심화 개념으로 friend 키워드를 공부해야하는 상황이 있다. 오늘은 간단하게 friend 키워드의 개념과 특징을 살펴보도록 하자. friend 키워드란? 경우에 따라서 클래스간 멤버를 공유해야하는 상황이 생기기도 한다. 이때, friend 키워드를 사용하면 클래스간 멤버를 접근하고 공유할 수 있게 된다. 말 그대로 friend 키워드는 클래스간 친구를 할 수 있게 되어서 private에 정의된 멤버도 접근할 수 있게 된다. friend 키워드의 특징 클래스 내부에서 friend 키워드를 멤버 함수에 사용하면 해당 멤버 함수는 멤버함수가 아닌 외부 함수로 인식된다. 따라서, 해당 함수는 비클래스 범위로 내보내져서 객체 생성(객체 인스턴스)과 무관하게 존재하며 호출 될 수가..
· Swift
들어가면서기본적으로 Swift과 관련된 모든 글들은 Swift 공식 사이트인 https://docs.swift.org/swift-book/documentation/the-swift-programming-language/aboutswiftDocumentationdocs.swift.orgdocument를 참고하여 작성할 것이다.Xcode - Playground에서 시작하기기본적으로 모든 글은 Playground에서 코드를 작성할 예정이다. 따라서, Xcode를 실행하고 새로운 Playground를 만들어보자. 아래 사진을 통해 만들 수 있다. Swift 문법의 특징기본적으로 C++나 Java와 다르게 main()함수가 존재하지 않는다. 전역 범위에서 작성된 코드는 프로그램의 진입점이 되므로 따로 main()..
· Java
들어가면서 자바는 C++의 문법을 대부분 이어 받은 언어로 알려져있다. 다만, 몇 가지 문법에서 차이가 있는데 이번 글에서는 switch 조건문에서 표현식(expr)에 올 수 있는 값들에 대해 알아보도록 한다. C++에서의 switch 조건문이란? switch 조건문의 기본 형태는 아래와 같다. switch (조건식[정수값]) {case [정수값]: , ... , default: ... } 이때, 조건식(expression)은 반드시 최종값(결괏값)이 정수(문자 상수) 또는 상수여만 한다. switch (조건식) //조건식은 상수든 수식이든 사용가능하나 항상 결괏값은 정수여만 한다. { case 상수식1: //상수식은 정수값이여만 한다. 실행문1; break; case 상수식2: 실행문2; break; ..
· C++
들어가면서 먼저 '배열의 선언 및 초기화 문법'에 대해 알아보고 'int 배열과 char 배열의 초기화 특징'과 'cin으로 입력 받는 char 배열과 int 배열'에 대해 알아보도록 하자. 배열의 선언 및 초기화 문법 1.배열도 변수와 동일하게 최초 할당된 저장 공간에는 쓰레기 값이 저장되어 있다. 2.그러므로, 배열도 선언과 동시에 초기화해야만 한다. 3.최초 배열 초기화는 중괄호({})로 묶어 초기화한다. 단, 이후 초기화는 배열 요소 각각에 대입하여 초기화 해야한다. 선언과 초기화를 동시에 했을 때처럼 한 번에 중괄호 초기화는 불가능하다. int 배열과 char 배열의 초기화 특징 먼저, 기본적으로 배열 초기화는 선언과 동시에 초기화할 때는 중괄호 초기화가 가능하다. #include using n..
· PS/백준
C++ 이 문제는 시간복잡도 때문에 여타의 소수 구하는 알고리즘과 다르게 풀어야한다. 이 문제는 '에라토스테네스의 채' 라는 알고리즘으로 해결 해야하고 해당 알고리즘 내용은 아래 위키백과에 잘 나와 있으니 한 번씩 보고 오도록 하자. https://ko.wikipedia.org/wiki/%EC%97%90%EB%9D%BC%ED%86%A0%EC%8A%A4%ED%85%8C%EB%84%A4%EC%8A%A4%EC%9D%98_%EC%B2%B4 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 에라토스테네스의 체 수학에서 에라토스테네스의 체는 소수를 찾는 빠르고 쉬운 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리즘[편집] ko.wikipedia.org 전체 ..
logicallaw
logicallaw