분류 전체보기 66

mongoDB와 React 연결시도

mongoDB는 크로스 플랫폼 도큐먼트 지향 데이터베이스 시스템이다. NoSQL 데이터베이스로 분류되는 mongoDB는 JSON과 같은 동적 스키마형 도큐먼트들을 선호함에 따라 전통적인 테이블 기반 관계형 데이터베이스 구조의 사용을 삼간다. 그래서 특정한 종류의 애플리케이션을 더 쉽고 빠르게 데이터 통합을 가능하게 한다. 내가 Wanderlust라는 여행지 추천사이트를 만들때 React.js와 mongoDB 서버 연결에 애를 먹었는데 그 과정을 기록하고자 한다. 헤쳐간 과정들🤔 1) react서버와 node서버가 각각 구동되어야 하기에 폴더별로 정리를 잘해야한다. 나같은 경우는 프로젝트 루트 폴더안에 client폴더를 만들어서 프론트엔드를 동작하게 했고, client폴더 바깥에 백엔드를 동작하게 했다. ..

React.js 공부 2023.06.10

딥러닝 기술면접 준비 2

Q1. 지도학습, 비지도학습, 강화학습 정의 및 종류? 지도학습: Classification와 Regression으로 나뉨. * Classification- kNN(데이터로부터 거리가 가까운 k개의 다른 데이터의 레이블을 참조하여 분류하는 알고리즘이며, 데이터간 거리를 측정할때 '유클리디안 거리' 계산법을 사용), Naive Bayes, Support Vector(결정 경계(Decision Boundary), 즉 분류를 위한 기준 선을 정의하는 모델이다. 그래서 분류되지 않은 새로운 점이 나타나면 경계의 어느 쪽에 속하는지 확인해서 분류 과제를 수행할 수 있게 된다. 최적의 결정 경계는 마진을 최대화한다.), Machine Decision * Regression- Linear Regression(모든 데..

AI 2023.05.31

딥러닝 기술면접 준비 1

Q1. 딥러닝과 머신러닝의 차이는? 기존 머신러닝에서는 학습하려는 데이터의 여러 특징 중에서 어떤 특징을 추출할지 사람이 직접 분석하고 판단해야하는 반면, 딥러닝에서는 기계가 자동으로 학습하려는 데이터에서 특징을 추출하여 학습하게 된다. 따라서 특징 추출에 사람이 개입(feature engineering)하면 머신러닝, 개입하지 않으면 딥러닝이다. 또한, 딥러닝은 머신러닝보다 큰 데이터셋과 긴 학습시간이 필요하다. 정형데이터는 주로 머신러닝, 비정형데이터는 주로 딥러닝 방식을 사용한다. +) 머신러닝이란 데이터를 기반으로 패턴을 학습하고 결과를 예측하는 알고리즘 기법이다. 머신러닝은 조건이 복잡하고 규칙이 다양한 경우에, 데이터를 기반으로 일정한/숨겨진 패턴을 찾아내서 문제를 해결한다. 머신러닝의 단점은..

AI 2023.05.29

[level 2] 호텔 대실

https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 생각든 접근법은 1) '대실 시작 시각'을 기준으로 sort()해주기 2) 들어갈 수 있는 시간이 없으면 ROOM을 하나 생성해서 만들어주기 3) 최종적으로 나오는 ROOM의 개수를 return => 그런데 실제 풀이를 보면 달랐다. 우선 sort를 하되, dict를 이용해서 max값을 구하거나 heap을 이용해서 pop,push를 반복적으로 사용해서 구하는 방법을 사용했다. 결국 누적합 ..

[level 2] 점 찍기

https://school.programmers.co.kr/learn/courses/30/lessons/140107 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 핵심포인트 ✅피타고라스의 정리를 이용해서 푸는 것(y^2=d^2-x^2의 형태라는 것을 알아야 함) ✅answer에다가 앞선 과정을 통해 구한 res를 k로 나눠야되고, 원점(0,0)을 생각해서 +1을 시켜줌 def solution(k, d): answer = 0 for x in range(0,d+1,k): res = int((d**2 - x**2)**0.5) answer += (res // k..

#20230524

현재 'Wanderlust'라는 이름의 여행지 추천사이트를 만들고 있다. React.js를 이용해서 만들고 있는데 앞으로 이와관련해서 블로그에다가 기록해갈 계획이다. 오늘 한 일은 우선 Header, Footer, Slider를 만듦으로써 화면의 뼈대를 세운것이다! - Header같은 경우는 Bootstrap을 이용해서 사용했다. - Footer는 참고해볼만한 사이트에서 사용했다. - Slider는 react-slick을 install하여서 Slider를 만들어서 추가시켜줬다. 앞으로 폴더정리도 깔끔하게 해서 누가봐도 한눈에 프로젝트 구조를 명확히 알아볼 수 있게끔 꾸며봐야겠다. +) 최대한 6월전까지 프로젝트를 마무리하고 싶다. 얼른 달려봐야지...단순히 프로젝트 하는 것 이외에도 따로 공부하는 과정이..

React.js 공부 2023.05.24

[level 2] 택배상자

https://school.programmers.co.kr/learn/courses/30/lessons/131704 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr assist라는 배열을 만들어 놓고나서 while문을 통해 지속적으로 append시켜준다. 이때 assist가 True이고 assist[-1] ==order[cnt]일 경우에는 cnt+=1해주고 pop()하는 과정이 필수적으로 이뤄져야한다. 이런 유형의 문제들을 많이 풀어봐야 감을 찾을 수 있을 듯 하다. def solution(order): assist=[] i=1 cnt=0 while i!=..

[level 2] k진수에서 소수 개수 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/92335 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 풀기 위해선 우선 아래와 같이 n진수를 구하는 방법부터 알아야 한다. def solution(n, q): rev_base = '' while n > 0: n, mod = divmod(n, q) rev_base += str(mod) return rev_base[::-1] # 역순인 진수를 뒤집어 줘야 원래 변환 하고자하는 base가 출력 print(solution(45, 3)) https..

[level 2] 피로도

https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 제목이 가장 눈에 확 띄었다! ㅋㅋㅋㅋ 완전 탐색 문제라고 한다. 문제설명을 보 던전을 탐험하기 위해 '최소 필요 피로도'와 '소모 피로도'가 필요하며 이를 계산하는 문제임을 알 수 있었다.예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모된다. 느낌이 combina..

[level 2] n^2 배열 자르기

https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 아래와 같이 했을 경우에,, 몇몇개는 통과했었는데 나머지 테스트들에서는 '실패 (시간 초과)'가 떠버렸다.. #틀린 풀이 def solution(n, left, right): answer = [[0 for _ in range(n)] for _ in range(n) ] arr=[] for i in range(n): for j in range(n): if i==j: answer[i][j]=i+1 fo..