본문 바로가기

Language

(101)
<자바스크립트> 맵과 셋 1. 맵 * 기본 메서드 - 맵은 키가 있는 컬랙션을 저장한 '객체'나 순서가 있는 컬랙션을 저장한 '배열'과 다른 좀 더 현실적인 자료구조이다. - 맵에서의 기본적인 메서드와 프로퍼티는 다음과 같다. - new Map() : 맵을 만든다. - map.set(key, value) : key를 이용하여 value를 저장한다. - map.get(key) : key에 해당하는 value를 반환한다. - map.has(key) : key가 존재하는지 불리언 값을 반환한다. - map.delete(key) : key에 있는 값을 삭제한다. - map.clear() : 맵 내의 요소들을 모두 삭제한다. - map.size : 요소의 갯수를 반환한다. - 코드로써 맵을 좀 더 알아보자. let map = new Ma..
<자바스크립트> 배열 (2) 반복, 탐색, 정렬 메서드 4. 반복 메서드 * forEach - forEach는 배열 요소 각각에 원하는 함수를 실행하도록 한다. - arr.forEach(function(itme, index, array) { } ); 와 같이 사용한다. let arr = ["HARRY", "IU", "SUZY"]; arr.forEach(alert); // 원소 각각의 알럿창을 보여줍니다. arr.forEach( (item, index, array) => { alert(`${item}은 ${index + 1} 번째에 있으며, ${array}에 속합니다.`); } ); // HARRY // IU // SUZY // HARRY은 1 번째에 있으며, HARRY,IU,SUZY에 속합니다. // IU은 2 번째에 있으며, HARRY,IU,SUZY에 속합..
<자바스크립트> 배열 (1) 데큐, 추가, 삭제 메서드 - 이번 장에서는 배열에서 사용하는 다양한 메서드들을 알아보자. 1. 데큐 메서드 * 데큐 메서드 - 자바스크립트는 데큐 자료구조형의 메서드를 기본적으로 제공한다. - arr.push(...items) - 마지막 요소 추가 - arr.pop() - 마지막 요소 제거 - arr.shift() - 처음 요소 제거 - arr.unshift(...items) = 처음 요소 추가 2. 제거 메서드 * delete - 먼저 객체의 프로퍼티를 지우는 연산자 delete를 사용해보자. let arr = ["HARRY", "IU", "SUZY"] delete arr[1]; console.log(arr); // ["HARRY", empty, "SUZY"] - delete는 원하는 요소를 지울 수 있다. 그러나 key를 이..
<자바스크립트> 숫자형 자료 이번 장에서는 자바스크립트에서 다루는 일반적인 숫자형 자료에 대해서 공부해보자. * toString - toString 메서드는 숫자를 원하는 진법으로 변환한다. let num = 21; console.log(num.toString(16)); // 15 console.log(num.toString(2)); // 10101 console.log(21..toString(36)); // 1 - 위는 21이라는 숫자를 각 16진법과 2진법으로 나타낸 것이다. - 숫자에 직접 toString을 사용하려면 소수부로 인식되지않도록 두 개의 점을 사용해야한다. * 수학 함수 - 자바스크립트 내장 객체인 Math에는 유용한 수학관련 함수들이 많다. 그 중 먼저 어림수를 구하는 함수들을 알아보자. - Math.floor ..
<C언어 기초> 07. 문자열 · 문자열 * 문자열과 문자 - 우리는 지금까지 문자열을 사용하기 위해서 string자료형을 사용하였다. 문자열(string)은 실제로는 문자(char)자료형 데이터들의 배열이다. - string s = "HI!"; 와 같은 문자열 s가 정의 되어있다고 한다면 메모리 상에 다음과 같이 저장될 것이다. - s는 문자의 배열이므로 s[0] 과 같은 방법으로 문자에 접근할 수 있다. - \0은 문자열의 끝을 나타내는 널 중단 문자이다. 이는 모튼 비트가 0인 1바이트이다. - 이번에는 여러 문자열의 배열을 보자. string names[3]; names[0] = "HARRY"; names[1] = "IU"; names[2] = "SUZY"; printf("%s\n", names[0]); printf("%c%c..
<자바스크립트> ? 연산자와 ?? 연산자 * 조건부 연산자 '?' - 조건에 따라 다른 값을 변수에 할당해줄 때, if문 대신 조건부 연산자 '?'를 사용할 수 있다. let sojuAllowed; let age = prompt('나이는? : '); if (age > 18) { sojuAllowed = true; } else { sojuAllowed = false; } - 나이가 19세 이상이어야 소주를 허용하는 코드를 작성했다. 위를 조건부 연산자를 사용하여 표현하면 다음과 같다. let sojuAllowed = (age > 18) ? true : false; - 코드가 매우 간결해 졌음을 알 수 있다. 물음표 연산자의 사용법은 다음과 같다. 변수 = 조건 ? 값1 : 값2; - 사실 위는 비교 연산자 자체가 true와 false를 반환하므로..
<C언어 기초> 06. 배열 * 배열 - 배열은 같은 자료형의 데이터를 메모리상에 연이어서 저장하고 그것을 하나의 변수로 관리하고 싶을 때 사용한다. - 72점 73점 33점이라는 점수를 scores라는 변수 하나로 관리하고 싶다고 하자. #include #include int main(void) { // Scores int scores[3]; scores[0] = 72; scores[1] = 73; scores[2] = 33; // Print average printf("Average: %i\n", (scores[0] + scores[1] + scores[2]) / 3); } - 위와 같이 배열 안의 자료형과 원소의 갯수를 이용하여 변수를 선언한다. - 그리고 0부터 차례로 인덱스값을 대괄호[]에 입력하여 점수를 넣어 주었다. -..
<자바스크립트> 화살표 함수와 콜백 함수 * 함수 표현식 - 함수를 표현하는 방식에 대해서는 이미 예전에 다뤘다. 다시 살펴보자면 다음과 같다. function showHi() { alert("Hello"); } - 위는 함수 선언문 방식이다. let showHi = function() { alert("Hello"); }; - 위는 함수 표현식 방법이다. 변수에 함수를 할당하는 것처럼 사용하였다. - 함수 선언문 방식은 if {...}, for {...} 과 같이 중괄호로 만든 방식이므로 ;(세미콜론)이 없더라도 구문의 끝임이 내장되어 있다. 이와 달리 함수 표현식 방식은 변수를 사용했으므로 구문의 끝을 나타내야한다. 따라서 ; 를 사용하였다. - 함수 선언문과 함수 표현식의 가장 큰 차이는 호출이다. 선언문은 어디에 작성하더라도, 심지어 호출..
<C언어 기초> 05. 사용자 정의 함수 · 사용자 정의 함수 * 사용자 정의 함수 - 우리는 자주 사용하는 기능을 함수로 직접 만들어서 관리할 수 있다. - 지금 까지 사용했던 printf 와 같은 함수도 과거에 누군가가 만들어 둔 함수이다. - 사용자에게 5번 인사하는 프로그램을 만든다고 생각해보자. #include int main(void) { for (int i = 0; i < 3; i++) { printf("hello\n") } } - 지금까지 배운 내용으로 위를 간단하게 만들 수 있다. - 하지만 다른 구문들을 떠나 인사를 하는 행위자체에 집중을 하고 싶고, 더 효율적으로 코드를 관리하고 싶을 수 있다. 그래서 위를 함수로 만들어보자. #include void hello(void) { printf("hello\n") } int mai..
<C언어 기초> 04. 자료형과 연산자 1. 자료형 * 데이터 타입 - 변수의 데이터 타입형식들은 다음과 같다. - bool : 불리언 표현으로써 True, False를 의미한다. (때에 따라 1,0, yes, no 포함) - char : 문자 하나를 의미한다. (ex. 'A', '?') - string : 문자열 - int : 정수 (약 40억 미만까지만 저장 가능) - long : 더 큰 크기의 정수 - float : 부동소수점을 갖는 실수 - double : 부동소수점을 갖는 더 큰 실수 * CS50라이브러리의 get 함수 - 지금까지 우리는 문자열을 받기위해 cs50라이브러리의 get_string함수를 사용했으나 다른 데이터 타입을 받아오는 함수들도 존재한다. - get_char, get_double, get_float, get_ing..