일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
- 백준 21606번
- 위상 정렬(Topological Sort)
- 위상 정렬(Topology Sort)
- 백준 17608번
- 알고리즘 개념
- BFS(Breadth First Search)
- 백준 1948번
- 백준 2504번
- 그래프(Graph)
- 스택(Stack)
- 백준 2812번
- 다익스트라 알고리즘(Dijkstra Algorithm)
- 백준 2261번
- BFS
- 백준 18352번
- 플로이드 워셜 알고리즘(Floyd-Warshall Algorithm)
- 이분 그래프(Bipartite Graph)
- 트리(Tree)
- 분할 정복(Divide and Conquer)
- 백준 1707번
- 그리디 알고리즘(Greedy Algorithm)
- 큐(Queue)
- 백준 2493번
- 백준 9012번
- DFS & BFS
- 백준 10000번
- DFS(Depth First Search)
- 이분 탐색(Binary Search)
- DFS
- 동적 프로그래밍(Dynamic Programming)
- Today
- Total
목록프로그래밍 언어 (27)
Always Be Wise
자바스크립트에서 배열은 두 가지 방식으로 선언할 수 있다. new Array( )를 이용하거나, [ ] 이용하는 것이다. 배열의 요소로는 다양한 자료형이 포함될 수 있지만, 많은 경우 하나의 배열에 하나의 자료형을 담는 것이 바람직하다. 배열의 값은 인덱스로 접근 가능하며, 인덱스는 0부터 시작한다. 'use strict'; // Array🎉 // 1. Declaration const arr1 = new Array(); const arr2 = [1, 2]; // 2. Index position const fruits = ['🍎', '🍌']; console.log(fruits); console.log(fruits.length); console.log(fruits[0]); console.log(fruits[..
객체는 자바스크립트의 데이터 타입 중의 하나로 key와 value의 쌍으로 이루어져 있다. 객체를 생성하는 방법은 크게 두 가지, { }를 이용하는 방법과, 클래스를 이용하는 방법이 있다. 자바스크립트는 다른 언어라면 컴파일 과정 중 수행하는 특정 작업들을 실행 도중에 수행하는 동적 프로그래밍 언어이다. 따라서 객체에 새로운 프로퍼티를 추가하거나 삭제하는 것이 쉽게 가능하다. // Objects // one of the JavaScript's data types. // a collection of related data and/or functionality. // Nearly all objects in JavaScript are instances of Object // object = { key : va..
자바스크립트의 클래스는 ES6에서 도입되었다. class 키워드를 사용해서 객체의 틀을 정의하고, 그 앞에 new를 붙여서 객체를 생성하는 방법이다. class를 사용할 때는 보통 프로퍼티의 경우 constructor 안에 정의하고, 메서드의 경우 constructor 밖에 정의한다. 'use strict'; // Object-oriendted programming // class: template // object: instance of a class // JavaScript classes // - introduced in ES6 // - syntactical sugar over prototype-based inheritance // 1. Class declarations class Person { /..
함수 선언 자바스크립트에서 함수는 다양한 방식으로 선언할 수 있다. 가장 일반적인 방법은 키워드를 통해 함수를 선언하는 방식이다. function sayHi() { console.log('Hi!'); } 함수 표현식 자바스크립트에서 함수는 값으로 취급될 수도 있기 때문에 변수에 할당해서 함수를 선언할 수도 있다. const sayHi = function () { console.log('Hi!'); }; 다양한 함수의 형태 자바스크립트에서 함수는 값으로 취급된다. 이런 특징은 코드를 작성할 때 다양한 형태로 활용될 수 있다. // 변수에 할당해서 활용 const printJS = function () { console.log('JavaScript'); }; // 객체의 메소드로 활용 const printJ..

C 언어에서 이미 Keyword로 사용하고 있어서 Identifier(ariables, functions, structures 등)로 사용할 수 없는 것들이 있다. ▶ 참고 링크 Rules for naming identifiers A valid identifier can have letters (both uppercase and lowercase letters), digits and underscores. The first letter of an identifier should be either a letter or an underscore. You cannot use keywords like int, while etc. as identifiers. There is no rule on how long a..

프로그램을 실행하면 운영체제는 프로그램이 사용할 메모리 영역을 할당한다. 할당하는 메모리 영역은 크게 데이터, 스택, 힙, 코드로 나뉜다. 프로그램이 실행될 때마다 영역을 할당하며, 할당 장소는 메인 메모리(RAM)이다. 데이터 영역 전역 변수와 정적 변수가 할당되는 영역으로 프로그램을 시작하면 할당하고, 프로그램을 종료하면 메모리에서 해제한다. 스택 영역 함수 호출시 생성되는 지역 변수와 매개변수가 저장되는 영역으로, 함수 호출이 완료되면 사라진다. 힙 영역 프로그램이 실행되는 동안 동적으로 생성되는 변수를 저장하기 위한 영역으로, 프로그램 실행 중 결정한다. 동적 메모리 할당시 사용하는 영역이다. 동적 메모리 할당 변수를 선언하는 대신 프로그램의 요청으로 메모리를 할당하는 것을 동적 메모리 할당이라고..
포인터는 어떤 변수의 주소를 담어서 가리키는 변수를 의미한다. 구조체 포인터도 크게 다르지 않다. 구조체를 가리키는 포인터를 구조체 포인터라고 한다. int *ptr 형식으로 int형 포인터를 선언하였듯이 구조체는 struct student *ptr과 같이 선언하면 된다. 아래 코드는 typedef를 사용해서 보다 간결히 구조체 포인터를 구현하였다. #include typedef struct { int s_id; int age; } Student; int main(){ Student goorm; Student *ptr; ptr = &goorm; (*ptr).s_id = 1004; (*ptr).age = 20; printf("goorm의 학번 : %d, 나이: %d\n", goorm.s_id, goorm..
일반 변수에 배열이 있듯이 구조체에도 배열이 있다. 구조체 배열을 선언하는 방법은 일반적인 배열을 선언하는 방법과 동일하다. 아래 코드에서 구조체도 문자열은 선언할 때만 초기화 할 수 있으므로 먼저 선언과 동시에 초기화를 해주고, 나머지 값들은 선언 후에 대입하였다. #include typedef struct { char name[30]; int age; } Student; int main(){ Student goorm[3] = { {.name = "해리 포터"}, {.name = "헤르미온느 그레인저"}, {.name = "론 위즐리"} }; goorm[0].age = 10; goorm[1].age = 10; goorm[2].age = 10; printf("이름 : %s / 나이 : %d\n", goo..
기본적으로 구조체를 선언할 때는 main 함수 밖에서 struct 구조체 이름 { 구조체 멤버들 }; 형태로 선언하고, main 함수에서 struct 구조체 이름 변수 이름 과 같이 선언한 후 사용한다. typedef를 이용하여 조금 더 편리하게 구조체 선언을 할 수 있다. typedef는 C 언어에서 자료형을 새롭게 이름을 붙일 때 쓰는 키워드이다. typedef를 이용하면 main 함수에서 구조체를 선언할 때 매번 struct를 써줄 필요가 없다. 이 typedef를 사용할 때에는 구조체 별칭이 필요한데, 구조체 별칭은 아래와 같이 구조체를 정의할 때 중괄호 뒤에 써주면 된다. #include typedef struct _Student { int age; char phone_number[14]; } ..
구조체란 하나 이상의 변수를 묶어서 좀 더 편리하게 사용할 수 있도록 도와주는 도구를 의미한다. 자료형이 다른 변수를 사용하기 위해서는 하나하나 선언할 필요가 있다. 그런데 똑같은 구조의 변수를 여러번 사용해야 하는 경우 이는 굉장히 비효율적이다. 구조체는 새로운 자료형을 만드는 것과 같다고 할 수 있기 때문에, 보통 main 함수 전에 선언한다. 어떤 함수 안에 선언하면 그 함수 안에서만 사용할 수 있기 때문에 만약 main 함수 안에 선언한다면 main 함수 안에서만 사용할 수 있다. 구조체의 기본적인 형태는 아래와 같다. struct 구조체 이름 { 구조체 멤버들 }; 이렇게 선언하는 것만으로는 구조체를 바로 사용할 수 없고, 아래와 같이 main 함수 안에서 따로 선언을 해주어야 한다. 선언 시에..