목록분류 전체보기 (96)
코딩 성장기

-JS 반복문 개념 정리하기 -코플릿 문제 모두 풀고 제출 -JS 반복문 개념 정리하기 👉 -코플릿 문제 모두 풀고 제출 👉완료

-JS 문자열 및 문자열 관련 함수정리 -코플릿 문제 모두 풀고 제출 -JS 문자열 및 문자열 관련 함수정리 👉 -코플릿 문제 모두 풀고 제출 👉완료 새로 시작한지 3일 밖에 되지 않았는데 사람이 무너지는것 같다. 내가 잠이 많은편이라 아침에 일어나는게 좀 힘든 편인데 오늘은 섹션1 시작한지 3일 밖에 되지 않았는데도 17분 정도 수업에 지각을 해버렸다. 나는 의지가 약한건가 싶기도 하고... 회사일이랑 병행하며 수업을 따라가려니, 시간이 부족한 것 같다. 아니면 한번 배웠던 거라고 사람이 나태해지는건지.. 이래저래 오늘은 공부를 하는데 우울하나 날이었다.

-JS 변수/타입/함수/자료형 개념정리하기 -JS 조건문 개념 정리하기 -JS 변수/타입/함수/자료형 개념정리하기 👉변수와 함수 관련된 개념들을 블로깅해두었다. 타입/자료형에 대한 추가 공부 필요 -JS 조건문 개념 정리하기 👉 if else 문에 추가하여 switch문 개념까지 정리해두었다. 표현식과 표현문의 차이를 알아야한다. 이미 진행했던 섹션이라 공부가 많이 필요없을 줄 알았으나 공부를 하면 할 수록 새로운것들, 몰랐던 것들이 계속 나와서 공부에 끝이 없다는 것이 느껴진다.

코드 스테이츠 웹개발자 과정 공부를 하며 하루하루 공부 목표와 TIL을 올리고자 한다. -지난 한달동안 수업에서 부족했던 점들 찾기✔ -37기 HA를 통과하지 못하고 학습을 재진행한 이유 찾기✔ -부족했던것들을 보완 할 수 있는 대략적인 스케쥴 작성✔ -지난 한달동안 수업에서 부족했던 점들 찾기 👉제대로 진행되지 않은 복습 -37기 HA를 통과하지 못하고 학습을 재진행한 이유 찾기 👉중간중간 조금씩 이해 안됐던 부분들을 제대로 이해하지 않은채 넘겼던 부분들이 발목을 잡음 -부족했던것들을 보완 할 수 있는 대략적인 스케쥴 작성 👉코드스테이츠 외 다른 공부추가. 코드스테이츠 학습 스케쥴 시작 전에 예습 (자바스크립트/HTML 및 CSS/제이쿼리/리액트) 1. 내가 HA에 통과하지 못한 이유? 사실상 말하자면..
준비물(준비 사항) 1. 충분한 용량의 노트북 2. 32G 이상의 용량을 가진, 초기화가 되어도 상관없는 USB 3. 자신의 노트북 제조사에 따른 BIOS 진입 방법 알아두기 아래의 영상을 따라하면 충분히 설치가 가능하다. 프로그래밍 입문자 기준 1시간 정도 소요되었다. BIOS 모드에 진입하여 부팅 순서를 설정하는 데에서 시간이 오래걸렸다. (헤매지 않고 한번에 성공한다면 30분 안에 설치가 충분 할 것 같다!) https://youtu.be/S_J5yi-JVpY

여러 문제를 풀다보면 해당 문제들을 푸는 알고리즘의 접근법이 비슷비슷하다. 이러한 상황을 알고리즘 패러다임 이라고 한다.(자주 나타나는 알고리즘 접근법의 집합) 문제를 풀다보면 여러 알고리즘으로 해결이 가능하다.(답이 한가지가 아님!) 여러 알고리즘을 공부하다보면 효율적으로 코딩 하는 법을 배울 수 있다. 가능한 모든 방법들을 모두 시도해 보는 알고리즘. 맨 처음 문제를 접했을때, 적용시키는 알고리즘. 이 알고리즘에서 다른 알고리즘으로 발전시키며 문제를 푸는 것이다. *장점 직관적이고 명확하다. 답을 확실하게 찾을 수 있다. *단점 input이 클때 비효율적 (시간이 오래 걸림) 예) Brute-Force Attack 숫자들의 집합 중 두 수를 뽑아, 곱한 결과가 가장 큰 값을 뽑아낼 때 brute fo..

재귀적으로 문제를 푼다? →같은 형태의 더 작은 문제를 풀고(부분 문제), 부분 문제의 답을 이용해서 기존 문제를 푸는것. 이 때 가장 작은 문제를 base case, 계속 반복되는 문제를 recursive case 라고 한다. 예) 팩토리얼(!) 4!을 구하기 위해서는 4! = 4 x 3 x 2 x 1 ☞3! 값이 필요하다. = 3! 3! = 3 x 2 x 1 ☞ 2! 값이 필요하다. = 2! 2! = 2 x 1 ☞1! 값이 필요하다 = 1! 1! = 1 x 0 = 0! = 1 4!을 구하기 위해 필요한 부분문제들이 모두 풀렸으므로, 각 결과들을 역순으로 이용하여 값을 도출한다. 0! = 1 임을 이미 알고 있으므로, 재귀함수에 설정을 해놓고 n = 0 인 경우에는 값이 1이 도출되도록 한다. n = ..

점근표기법(빅오 표기법, Big-O notation)이란? ☞input된 데이터의 개수가 n개일때, 걸리는 시간을 수식으로 표현하여 수식중 알고리즘이 작동하는데 걸리는 시간에 가장 큰 영향을 미치는 부분만 Big-O notation에 사용하고 나머지 부분은 제거한다. 이때 상수 또한 모두 제거한다 n은 매우 큰 수라고 가정하고 n만 Big-O notation에 사용한다. 자료의 크기가 작으면(상수), 알고리즘에 따라 걸리는 시간 차이가 크지 않기 때문이다 시간 뿐만 아니라, 공간의 사용량을 나타낼 때도 사용된다. (n이 무한대로 커진다고 생각한다면, 상수는 먼지에 지날뿐..) '최악의 경우를 대비하여 코드 구현을 하기 위해 필요한 개념이다' 빅 오 표기법 읽는법 -O(n) 빅오 의 n -빅 오 of n ..
▷어떠한 문제를 해결하기 위한 과정, 방법 좋은 알고리즘을 만들기 위해서는, 단순 문제 해결을 넘어, ‘더 효율적으로 문제를 해결하는’ 알고리즘을 만들도록 노력해야 한다. 1. 시간 2. 공간(컴퓨터의 저장공간-메모리) 으로 평가. 시간이 좀 더 중요하다. 공간은 비용을 들여서 늘릴 수 있으니. 좋은 알고리즘을 평가하기 위해서는 빅오 표기법 (Big - o)이라는 것을 사용한다. (빅 오 표기법이란?▷ https://developer-sowoo.tistory.com/10?category=1191269) 빅 오 표기법으로는 시간 복잡도, 공간 복잡도를 나타낼 수 있다. 시간 복잡도: 데이터가 많아질수록 걸리는 시간이 얼마나 급격히 증가하는지 확인하는 척도 시간복잡도가 작을수록 좋은 알고리즘(=시간이 적게 ..
list와 달리 numpy.ndarray에 연산자를 붙여주면, 각 element 마다 연산이 적용된다. 예) import numpy as np list_1 = [1, 2, 3, 4, 5] array_1 = np.array(list_1) print(array_1 + 2) print(array_1 * 2) array_1 *2 *결과 [3 4 5 6 7] [2 4 6 8 10] array([2 4 6 8 10]) ☞print 함수를 쓰지 않으면 이렇게 출력된다! 리스트와 다름을 나타냄. numpy의 계산 기능과 비슷하게, 각 element 마다 불린 계산이 적용된다. 예) import numpy as np list_1 = [1, 2, 3, 4, 5] array_1 = np.array(list_1) print(..