CS50 : C์–ธ์–ด
ยท
lecture recap
C์–ธ์–ด๋Œ€ํ•™๊ต 1ํ•™๋…„๋•Œ ํ•„๊ต๋กœ ๋“ค์—ˆ๋˜ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์ˆ˜์—…์—์„œ ์Šคํฌ๋ž˜์น˜๋ฅผ ์‚ฌ์šฉํ–ˆ์—ˆ๋Š”๋ฐ, ๊ทธ๊ฒƒ๊ณผ ๊ฐ™์€ ๋‚ด์šฉ์ด์—ˆ๋‹ค. C์—์„œ๋Š” printf๋ผ๋Š” ํ•จ์ˆ˜๋กœ ํ™”๋ฉด์— ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ธ€์ž๋‚˜ ๋‹จ์–ด, ๋ฌธ์žฅ์„ ์ ์„ ๋•Œ๋Š” ํ•ญ์ƒ " " (์Œ๋”ฐ์˜ดํ‘œ)๋กœ ๊ฐ์‹ธ์•ผ ํ•˜๊ณ , () ๋’ค์— ;(์„ธ๋ฏธ์ฝœ๋ก )์„ ๋ถ™์—ฌ์•ผ ํ•œ๋‹ค. ์ด๋Ÿฐ ํ•จ์ˆ˜์ ์ธ ๋‚ด์šฉ์€ ๊ฒ‰ํ–๊ธฐ๋‚˜๋งˆ ์ •๋ณด์ฒ˜๋ฆฌ๊ธฐ์‚ฌ ๊ณต๋ถ€ํ•˜๋ฉด์„œ ํ›‘์–ด๋ดค๊ธฐ ๋•Œ๋ฌธ์— ์–ด๋ ต์ง€ ์•Š์•˜๋‹ค.  #include ๋Š” “stdio.h”๋ผ๋Š” ์ด๋ฆ„์˜ ํŒŒ์ผ์„ ์ฐพ์•„์„œ “printf” ํ•จ์ˆ˜์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•œ๋‹ค.์šฐ๋ฆฌ๊ฐ€ ์›Œ๋“œ๋‚˜ ํ•œ๊ธ€๋กœ ๋ฌธ์„œ๋ฅผ ์ €์žฅํ–ˆ์„๋•Œ "๋ฌธ์„œ.docx", "๋ฌธ์„œ.hwp"์™€ ๊ฐ™์ด ํ™•์žฅ์ž๋ช…์ด ๋ถ™๋Š” ๊ฒƒ์ฒ˜๋Ÿผ C๋กœ ์ž‘์„ฑํ•œ ์ฝ”๋“œ๋Š” “ํŒŒ์ผ์ด๋ฆ„.c”๋กœ ์ €์žฅํ•ด์•ผ ํ•œ๋‹ค.(๋งˆ์ดํฌ๋กœ์†Œํ”„ํŠธ์˜ Word ์ฒ˜๋Ÿผ ์ž๋™์ ์œผ๋กœ ๋ถ™์—ฌ์ฃผ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— C์˜ ๊ฒฝ์šฐ์—๋Š” ..
TS: ํ•œ์ž…ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋จน๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€_day10
ยท
lecture recap
๐Ÿง‰ ์ง„๋„ 7. ์ œ๋„ค๋ฆญ (3/6)์ œ๋„ค๋ฆญ ์†Œ๊ฐœํƒ€์ž… ๋ณ€์ˆ˜ ์‘์šฉํ•˜๊ธฐmap, forEach ๋ฉ”์„œ๋“œ ํƒ€์ž… ์ •์˜ํ•˜๊ธฐ๐Ÿฝ๏ธ ์š”์•ฝ ์ œ๋„ค๋ฆญ/** * ์ œ๋„ค๋ฆญ */// function func(value:unknown){// return value;// }function func(value: T):T { return value;}// = ํƒ€์ž…๋ณ€์ˆ˜. ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•  ๋•Œ๋งˆ๋‹ค ์ธ์ˆ˜์— ๋”ฐ๋ผ ํƒ€์ž…์ด ๊ฒฐ์ •๋จ// ๋ฒ”์šฉ์ ์œผ๋กœ ์“ธ ์ˆ˜ ์žˆ๋Š” ์ œ๋„ค๋ฆญํ•จ์ˆ˜let num = func(10);// num.toUpperCase(); if(typeof num === 'number'){ num.toFixed(); }let bool = func(true);let str = func('string');// ํ”„๋กœ๊ทธ๋ž˜๋จธ๊ฐ€ ๋ช…์‹œ์ ์œผ๋กœ ์‚ฌ์šฉ..
TS: ํ•œ์ž…ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋จน๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€_day9
ยท
lecture recap
๐Ÿฎ ์ง„๋„ 6. ํด๋ž˜์Šค (4/4)์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํด๋ž˜์Šค ์†Œ๊ฐœํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ํด๋ž˜์Šค์ ‘๊ทผ์ œ์–ด์ž์ธํ„ฐํŽ˜์ด์Šค์™€ ํด๋ž˜์Šค ๐Ÿฅ›  ์š”์•ฝ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํด๋ž˜์Šค/** * ํด๋ž˜์Šค class */let studentA = { name: "Julie", grade: "A+", age: 24, study() { console.log("์—ด์‹ฌํžˆ ๊ณต๋ถ€ํ•จ"); }, introduce() { console.log("์•ˆ๋…•ํ•˜์„ธ์š”"); },};class Student {// field name; grade; age;// constructor constructor(name, grade, age) { this.name = name; this...
TS: ํ•œ์ž…ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋จน๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€_day8
ยท
lecture recap
๐Ÿถ ์ง„๋„ 4. ํ•จ์ˆ˜์™€ ํƒ€์ž… (5/5)ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ์‚ฌ์šฉ์ž ์ •์˜ ํƒ€์ž… ๊ฐ€๋“œ5. ์ธํ„ฐํŽ˜์ด์Šค (3/3)์ธํ„ฐํŽ˜์ด์Šค์ธํ„ฐํŽ˜์ด์Šค ํ™•์žฅํ•˜๊ธฐ์ธํ„ฐํŽ˜์ด์Šค ์„ ์–ธ ํ•ฉ์น˜๊ธฐ๐Ÿซ˜ ์š”์•ฝ ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ/** * ํ•จ์ˆ˜ ์˜ค๋ฒ„๋กœ๋”ฉ * ํ•˜๋‚˜์˜ ํ•จ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ๊ฐฏ์ˆ˜๋‚˜ ํƒ€์ž…์— ๋”ฐ๋ผ * ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๋ฒ„์ „์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ฌธ๋ฒ• * -> ํ•˜๋‚˜์˜ ํ•จ์ˆ˜ func * -> ๋ชจ๋“  ๋งค๊ฐœ๋ณ€์ˆ˜์˜ ํƒ€์ž…์€ number * -> ver1. ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 1๊ฐœ -> ์ด ๋งค๊ฐœ๋ณ€์ˆ˜์— 20์„ ๊ณฑํ•œ ๊ฐ’ ์ถœ๋ ฅ * -> ver2. ๋งค๊ฐœ๋ณ€์ˆ˜๊ฐ€ 3๊ฐœ -> ์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋“ค์„ ๋‹ค ๋”ํ•œ ๊ฐ’์„ ์ถœ๋ ฅ */// ๋ฒ„์ „๋“ค -> ์˜ค๋ฒ„๋กœ๋“œ ์‹œ๊ทธ๋‹ˆ์ฒ˜function func(a: number): void; // 1๋ฒˆfunction func(a: number, b: number, c: number): void; // 2..
TS: ํ•œ์ž…ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋จน๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€_day7
ยท
lecture recap
๐Ÿซ– ์ง„๋„ 4. ํ•จ์ˆ˜์™€ ํƒ€์ž… (3/5)ํ•จ์ˆ˜ ํƒ€์ž…ํ•จ์ˆ˜ ํƒ€์ž… ํ‘œํ˜„์‹๊ณผ ํ˜ธ์ถœ ์‹œ๊ทธ๋‹ˆ์ฒ˜ํ•จ์ˆ˜ ํƒ€์ž…์˜ ํ˜ธํ™˜์„ฑ๐Ÿฑ ์š”์•ฝ ํ•จ์ˆ˜ ํƒ€์ž…/** * ํ•จ์ˆ˜ ํƒ€์ž… ์ •์˜ */// ํ•จ์ˆ˜๋ฅผ ์„ค๋ช…ํ•˜๋Š” ๊ฐ€์žฅ ์ข‹์€ ๋ฐฉ๋ฒ•// (์–ด๋–ค ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๊ณ , ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ์ด์•ผ๊ธฐ)// => ์–ด๋–ค [ํƒ€์ž…์˜] ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ฐ›๊ณ , ์–ด๋–ค [ํƒ€์ž…์˜] ๊ฒฐ๊ณผ๊ฐ’์„ ๋ฐ˜ํ™˜ํ•˜๋Š”์ง€ ์ด์•ผ๊ธฐ// function func(a: number, b: number): numberfunction func(a: number, b: number) { return a + b;}/** * ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋ฅผ ์ •์˜ํ•˜๋Š” ๋ฒ• */// (a: number, b: number): number๋Š”// (a: number, b: number)๋กœ ์ƒ๋žต ๊ฐ€๋Šฅconst add = (a: numbe..
TS: ํ•œ์ž…ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋จน๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€_day6
ยท
lecture recap
๐ŸฅŠ ์ง„๋„ 3. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ดํ•ดํ•˜๊ธฐ (9/9)ํƒ€์ž… ๋‹จ์–ธํƒ€์ž… ์ขํžˆ๊ธฐ์„œ๋กœ์†Œ ์œ ๋‹ˆ์˜จ ํƒ€์ž…๐Ÿฅ‹ ์š”์•ฝ ํƒ€์ž… ๋‹จ์–ธ (Type Assertion)// ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ์˜ ๋ˆˆ์„ ์ž ๊น ๊ฐ€๋ ค์„œ ๋‚ด๊ฐ€ ์ž‘์„ฑํ•œ ํƒ€์ž…์ด๋ผ๊ณ  ๋ฏฟ๋„๋ก ๋งŒ๋“œ๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ์œ„ํ—˜ํ•  ์ˆ˜ ์žˆ๋‹คtype Person = { name: string; age: number;};let person = {} as Person;person.name = "Julie";person.age = 24;type Dog = { name: string; color: string;};let dog = { name: "kimbab", color: "white", breed: "jindo",} as Dog;/** * ํƒ€์ž… ๋‹จ์–ธ์˜ ๊ทœ์น™ * ๋‹จ์–ธ์‹ : ..
TS: ํ•œ์ž…ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋จน๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€_day5
ยท
lecture recap
๐Ÿฅ— ์ง„๋„ 3. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ดํ•ดํ•˜๊ธฐ (6/9)๊ฐ์ฒด ํƒ€์ž…์˜ ํ˜ธํ™˜์„ฑ๋Œ€์ˆ˜ ํƒ€์ž…ํƒ€์ž… ์ถ”๋ก ๐Ÿˆ ์š”์•ฝ ! ๊ฐ์ฒด ํƒ€์ž…์˜ ํ˜ธํ™˜์„ฑ// ๊ธฐ๋ณธ ํƒ€์ž… ๊ฐ„์˜ ํ˜ธํ™˜์„ฑlet num1: number = 10;let num2: 10 = 10;num1 = num2; // num2 = num1;// ๊ฐ์ฒด ํƒ€์ž… ๊ฐ„์˜ ํ˜ธํ™˜์„ฑ// -> ์–ด๋–ค ๊ฐ์ฒด ํƒ€์ž…์„ ๋‹ค๋ฅธ ๊ฐ์ฒดํƒ€์ž…์œผ๋กœ ์ทจ๊ธ‰ํ•ด๋„ ๊ดœ์ฐฎ์„๊นŒ?!type Animal = { name: string; color: string;};type Dog = { name: string; color: string; breed: string;};let animal: Animal = { name: "giraffe", color: "yellow",};let dog: Dog = {..
TS: ํ•œ์ž…ํฌ๊ธฐ๋กœ ์ž˜๋ผ๋จน๋Š” ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ฑŒ๋ฆฐ์ง€_day4
ยท
lecture recap
๐Ÿ“ ์ง„๋„ 2. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ๊ธฐ๋ณธ (8/8)Any์™€ UnknownVoid์™€ Never3. ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ดํ•ดํ•˜๊ธฐ (3/9)ํƒ€์ž…์Šคํฌ๋ฆฝํŠธ ์ดํ•ดํ•˜๊ธฐํƒ€์ž…์€ ์ง‘ํ•ฉ์ด๋‹คํƒ€์ž… ๊ณ„์ธต๋„์™€ ํ•จ๊ป˜ ๊ธฐ๋ณธํƒ€์ž… ์‚ดํŽด๋ณด๊ธฐ๐Ÿชƒ ์š”์•ฝ & ๊ณผ์ œ => ์˜ค๋Š˜ ๋ฐฐ์šด ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ์•„๋ž˜์˜ 4๊ฐ€์ง€ ํƒ€์ž…์— ๋Œ€ํ•ด ๊ฐ€๋ณ๊ฒŒ ์ •๋ฆฌํ•˜๊ธฐUnknown๋ชจ๋“  ๊ฐ’์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ํƒ€์ž…์ด์ง€๋งŒ, unknown ํƒ€์ž…์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์ „์— ๋ช…์‹œ์ ์ธ ํƒ€์ž… ์ฒดํฌ๋‚˜ ํƒ€์ž… ๋‹จ์–ธ์„ ํ†ตํ•ด ํ•ด๋‹น ๊ฐ’์˜ ํƒ€์ž…์„ ํ™•์ธํ•ด์•ผ๋งŒ ์‹ค์ œ๋กœ ํ•ด๋‹น ๊ฐ’์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.any์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์–ด๋– ํ•œ ํƒ€์ž…์˜ ๊ฐ’๋„ ์ €์žฅํ•  ์ˆ˜ ์žˆ๋‹ค.ํ•˜์ง€๋งŒ ๋‹ค๋ฅธ์ ์€ unknownํƒ€์ž…์˜ ๊ฐ’์„ ๋‹ค๋ฅธ ํƒ€์ž…์— ๋Œ€์ž…ํ•  ์ˆ˜ ์—†๊ณ  ๋ฉ”์„œ๋“œ๋“ค๋„ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.// ๊ฐ’์˜ ํƒ€์ž…์„ ํ™•์ธํ•ด์•ผ๋งŒ ์‹ค์ œ๋กœ ํ•ด๋‹น ๊ฐ’์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ..