내일배움캠프 4기 React 6일차 (문법기초공부 , 알고리즘, ASCII코드, 알파벳, 시간복잡도, 공간복잡도, 점근표기법)

최영진·2022년 11월 7일
0

1. Javascript 문법 기초

처음으로 Visual Studio code 를 이용하여 Node.js 파일을 생성하여 공부하였다.
문법의 기초라 어렵지 않게 공부하였다.

1) function 함수

function wear(price1, price2, price3){
    const sum = price1 + price2 + price3
    console.log(`두 상품의 가격 총합은 ${sum}원 입니다.`)
    const avg = sum/3
    return avg
}

const priceA = 1000
const priceB = 2000
const priceC = 3000

const avg1 = wear(priceA, priceB, priceC)
console.log(`평균은 ${avg1}원 입니다.`)

일단 변수를 지정할 때 let 과 const 를 사용한다.
let : 변수의 변화 가능 ex) let a = 3 > a = 5 (가능)
const : 변수 재사용 불가 ex) const a = 3 > a = 5 (error)

function 을 사용함으로 입력값만 있으면 결과값을 출력할 수 있다.
단, function 안에서 사용하는 변수들도 다 지정을 해줘야함

console.log() 로 찍어줄 때 백틱(``) 사이에 입력하면 문자열+숫자를 간단히 표현 가능하다. 변수는 ${} 안에 넣어주어 값 도출 가능!

2) Class, constructor, this

class = 객체, constructor = 생성자, this = 객체의 속성이다.

class Product{
    constructor(name, price, size, color){
        this.name = name
        this.price = price
        this.size = size
        this.color = color
    }

    printInfo(){
        console.log(`name: ${this.name}, price: ${this.price}, size: ${this.size}, color: ${this.color}`)
    }
}


const mywear = new Product('후드티', 60000, 'XL', 'black')
const nit = new Product('니트', 50000, 'L', 'red')

mywear.printInfo()
nit.printInfo()

이런식으로 객체를 생성해 주면 각각의 속성들에 값만 입력해주면
자동으로 출력될 수 있게 만들어준다.
function 과 비슷한 역할을 하는 것 같다.

출력을 할 땐 변수 지정 후 new 를 붙여 주어야 한다.

2. 알고리즘, 자료구조

알고리즘을 공부해야 하는 이유는 최고의 출력을 내기 위해서다.

1) 여러 해답을 내보기

문제는 1가지여도 해답을 여러가지로 표현할 수 있다.
그 중에 시간도 적게 걸리고, 공간도 작게 차지하는 출력을 내야한다.
그러기 위해선 공부를 해야한다!

ASCII 코드

ASCII 코드를 사용하여 각 숫자와 문자를 숫자로 표현할 수 있다.
파이썬에서는
ord() : 문자열 > 숫자, chr() : 숫자 > 문자
이렇게 사용할 수 있다.

alphabet 확인하기

val.isalpha() 로 알파벳인지 아닌지 판별이 가능하다.

0 배열 간단히 만들기!

array[0] * N 하면 0 이 N 개의 배열로 자동 생성된다.. 굳!

3. 시간복잡도, 공간복잡도, 점근표기법

엄청 어렵게 생각했는데 생각보다 간단한 내용이었다.

연산에 걸리는 시간을 N 과 상수로 표현
공간도 마찬가지!

최악인 상황일땐 빅오표기법
최고의 상황일때 빅오메가 표기법

시간복잡도에서 for 문은 입력에따라 반복수가 정해지기 때문에 N 이다.
변수 지정, 대입, 비교 는 각각 상수 1

공간에서 배열의 크기가 입력값에 따라 달라지면 N

상수는 100 이든 1000이든 1로 표현, N 이 중요하다.

4. 해야할 것

알고리즘 이해를 위해 파이썬 기초문법 공부부터 열심히 해야겠다.
문제를 해결할 시간을 자꾸 주시는데 아무것도 못한다...

일단 함수와 for 문 변수지정부터 좀 친해져야 겠다.

profile
안녕하시오.

1개의 댓글

comment-user-thumbnail
2022년 11월 8일

저도 문제앞에서 한없이 멍때리던때가 기억납니다
지금도 잘 못할때도 많아요 ㅠㅠ 반복하시면서 화이팅입니다!

답글 달기