전체 글

Let's try something first and experience it a lot.
· Swift
들어가면서이번 글에서는 Swift의 기본 자료형으로 Int, UInt, Double, Float, Bool, String, Character 자료형에 대해 살펴보도록 한다.Int | 부호가 있는 정수를 저장하는 자료형Int는 부호가 있는 정수를 저장하는 자료형이다. 이때, 부호가 있는 정수란 +와 -의 부호를 붙일 수 있는 정수를 의미한다. Int 자료형이 저장할 수 있는 정수 값의 범위는 해당 컴퓨터의 CPU 환경에 따라 가변적으로 범위가 달라지게 된다.따라서, Int 자료형은 가변적으로 Int8, Int16, Int32, Int64 등의 서브 자료형으로 변하게 되며 표현 가능한 수의 범위도 달라지게 된다.Int 자료형의 서브 자료형저장 가능한 값의 범위 크기Int8-128 ~ 1278bitInt16-..
· Swift
들어가면서Swift 언어의 주석 처리 방법은 C++나 Java에서 사용하는 한 줄 주석 처리(//)와 여러 줄 주석 처리(/* */) 방법을 모두 사용할 수가 있다.다만, Swift에서 한 가지 다른 점이 있는데 이번 글에서 살펴보도록 하자.주석 방법 1 | 한 줄 주석은 //를 사용한다.C++와 Java의 한 줄 주석 처리 방법과 모두 동일하다.주석 방법 2 | 여러 줄 주석은 /* */를 사용한다.C++와 Java의 여러 줄 주석 처리 방법과 모두 동일하다.주석 방법 3 | C++, Java와 다르게 Swift는 중첩 주석을 사용할 수 있다.중첩 주석이란 여러 줄 주석 안에 또 다른 여러 줄 주석을 중첩하여 사용할 수 있는 것을 말한다.C++나 Java에서는 중첩 주석을 사용할 수 없는데, 아래 C+..
· Swift
들어가면서대표적으로 C++나 Java 언어에서는 문자와 문자열을 정의시 각각 작은따옴표('')와 큰따옴표("")로 구분하여 정의를 한다.하지만, Swift 언어는 문자와 문자열을 정의시 모두 큰따옴표로만 정의할 수 있는데 이번 글에서는 이에 대해 살펴보도록 하자.문법 특징 1 | 문자는 작은따옴표로 정의할 수 없다.다음과 같이, 변수 c에 문자를 작은따옴표로 정의하려고 한다면 Swift에서는 큰따옴표를 사용하라고 에러 메시지를 발생시킨다. 그렇다면, 아래와 같이 타입 어노테이션을 사용하여 명시적으로 Character 타입으로 지정하여 작은따옴표로 정의하려고 해도 에러가 발생하게 된다.문법 특징 2 | 문자열뿐만 아니라 문자도 큰따옴표로 정의한다.따라서, 문자열뿐만 아니라 문자도 정의를 할 때 반드시 큰따..
· PS/백준
C++#include #include #include #include using namespace std;int main(void) { ios_base::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; vector keys; unordered_map map; //O(n) time while(n--) { int x; cin >> x; if(map.find(x) == map.end()) { map.insert({x, 1}); keys.push_back(x); } else { map[x] += 1; ..
· PS/백준
sort(first, last, comp) 함수란?C++ STL의 algorithm 헤더에 정의된 정렬 함수를 의미한다. sort 함수는 여러 가지 배열 또는 컨테이너의 시작(first)과 끝(last-1)의 범위를 지정하여 사용자가 원하는 정렬 기준(comp)에 따라  O(nlogn) time으로 정렬하는 함수를 말한다. 기본적으로, comp는 사용자 정의의 비교 함수를 의미하며 비교 함수를 생략한다면 기본적으로 오름차순으로 정렬되게 된다.또한, 배열의 범위를 지정할 때 주의할 점은 인자로 first와 last를 넘겨주면, 실제로는 first부터 last-1까지만 정렬되게 된다. 정렬할 배열로는 내장 배열과 모든 컨테이너(ex:vector, list)가 가능하다. sort 함수의 include 방법#i..
unordered_set 란?정렬되지 않은 HashSet의 자료구조로 구현된 C++ STL을 의미한다. 먼저, HashSet이란 Hashing을 기반으로 데이터를 관리해주는 자료구조를 의미한다.따라서, 삽입, 삭제, 탐색 등 모든 함수의 시간 복잡도가 O(1) time 이다. https://logicallaw.tistory.com/entry/%EC%BD%94%EB%93%9C%ED%8A%B8%EB%A6%AC-unorderedmapK-V%EC%97%90-%EB%8C%80%ED%95%B4%EC%84%9C-C-STL 사용 방법 | C++ STL" data-og-description="unordered_map이란?정렬되지 않은 HashMap의 자료구조로 구현된 C++ STL를 의미한다. 먼저, HashMap이란 ..
· PS/백준
1157번 | 단어 공부#include #include #include using namespace std;int main(void) { string userInput; cin >> userInput; unordered_map map; vector mapKeys; for(int i{ 0 }; i = 'A' && c max) { max = value; maxCnt = 1; result = mapKeys[i]; } else if (value == max) { maxCnt++; } } if(maxCnt > 1) ..
unordered_map이란?정렬되지 않은 HashMap의 자료구조로 구현된 C++ STL를 의미한다. 먼저, HashMap이란 Dictionary를 구현하는 방법의 일부로, pair로 구성된 entry를 원소로 저장하는 컨테이너를 의미한다.HashMap의 구현 방법은 Chaining 방식, Linear Probing 방식, Double Hasing 방식 등 여러 가지 방법이 존재하는데, unordered_map의 STL은 정렬되지 않은 HashMap으로 구현되어 있다. 이 STL의 특징은 entry의 삽입, 삭제, 탐색 등의 연산에서 O(1) time(상수 시간)으로 수행할 수가 있다.즉, 특정 entry를 접근할 때 모두 상수 시간에 수행할 수 있으므로, 이 STL을 사용하게 되면 built-in ..
C++Solution부호가 동일한 숫자면 같은 숫자로 판단한다. 따라서, 이전에 입력된 숫자와 현재 숫자가 부호가 같은 숫자인지 확인하는 isSameNumber 함수를 통해 판단하고, 동일한 숫자면 카운트하여 최댓값을 저장하는 max와 비교하여 max를 업데이트를 진행한다.#include using namespace std;bool isSameNumber(const int& preN, const int& nextN) { if((preN > 0 && nextN > 0 )|| (preN > n; int* array = new int[n]; for(int i{ 0 }; i > array[i]; } int duplicated = 1; int max = 0; for(int i..
· PS/백준
C++#include #include using namespace std;class Tree;class CharNode {private: CharNode* par; char ele; CharNode* leftC = NULL; CharNode* rightC = NULL; friend class Tree;};class Tree{private: CharNode* root; vector nodes;public: Tree() { root = new CharNode; root->par = NULL; root->ele = 'A'; nodes.push_back(root); } ~Tree() { for(i..
logicallaw
logicallaw