728x90

분류 전체보기 186

[엘리스트랙 SW 4기 | 2차 프로젝트] 발전

기본적인 api 만든 후 테스트하다보니 MySQL에 점차 적응하고 있다. RDBMS를 왜 쓰는지, join의 장점 등 기존에 mongoDB를 써본 상태라 확연히 느껴진다. 아직 타입스크립트에 대해 무지하다보니 오류를 수정하는데 꽤 시간이 걸리긴 하지만, 1차때 자바스크립트만 쓰면서도 똑같이 시간 걸렸고, 어떻게든 잘 마무리한거 보면 이번 프로젝트도 하면서도 재미있고, 기대가 된다. 그런데 1차때 모두가 그렇게 시간을 쏟아도 어려워했어서 그런지, 3주가 주어졌는데도 이번 프로젝트는 두번째임에도 더 두서없고 분주하게 진행되고 있다. 프론트엔드 5명에 백엔드 나 포함 2명이라 어쩌면 비율이 확 다르지만, 같이 작업할 사람이 많은거나 2명이서 잘 소통하면서 하는거나 큰 차이는 없는 것 같다고 느껴질 정도로 잘 ..

[프로그래머스 | JavaScript] 카드 뭉치

문제 설명 코니는 영어 단어가 적힌 카드 뭉치 두 개를 선물로 받았습니다. 코니는 다음과 같은 규칙으로 카드에 적힌 단어들을 사용해 원하는 순서의 단어 배열을 만들 수 있는지 알고 싶습니다. 원하는 카드 뭉치에서 카드를 순서대로 한 장씩 사용합니다. 한 번 사용한 카드는 다시 사용할 수 없습니다. 카드를 사용하지 않고 다음 카드로 넘어갈 수 없습니다. 기존에 주어진 카드 뭉치의 단어 순서는 바꿀 수 없습니다. 예를 들어 첫 번째 카드 뭉치에 순서대로 ["i", "drink", "water"], 두 번째 카드 뭉치에 순서대로 ["want", "to"]가 적혀있을 때 ["i", "want", "to", "drink", "water"] 순서의 단어 배열을 만들려고 한다면 첫 번째 카드 뭉치에서 "i"를 사용한..

[엘리스트랙 SW 4기 | 2차 프로젝트] 프로젝트 시작하면서..

2차 프로젝트는 자유 주제로 백지상태에서 시작하게 되었다. 그런데 사실 1차 프로젝트도 스켈레톤 코드가 있다는게 공지가 되지 않아서 챗gpt 도움을 받아서 억지로 하긴 했지만 어쨌든 시간 내에 잘 마무리했던 것 같은데, 당시에는 강의 내용만으로는 해낼 수가 없다고 생각했고, (사실 지금 생각해도 그렇다.) 그때 방황했던 것들이 많이 도움이 되는 것 같다. 엘리스에서도 그걸 노린거라고 믿고싶다...^^ 이번에는 프론트 5, 백 2 의 비율로 프로젝트 멤버가 구성되었다. 앞선 글에서 언급했듯, RDBMS를 배우고 싶어서 MySQL을 공부해서 사용하기로 했다. 그래서 이번 주는 지난 주까지도 실시간으로 강의해주신 조금은 익숙한 이고잉님의 생활코딩 강의를 통해 MySQL의 기초를 배우고 있다. 그래서 이제 CR..

[MySQL] 내가 보기 위해 만든 SQL CRUD 구문 정리

0. 들어가기 전에 먼저 database, table이 만들어져 있어야 한다. CREATE 뒤에 만들고싶은 것을 입력하면 되고, TABLE의 경우 괄호 안에 조건들을 자세히 입력할 수 있다. 만든 후 원하는 database, table을 하려면 각각 SHOW에 붙여서 입력해준다. CREATE한 후, SHOW TABLES;를 입력하면 다음과 같이 박스가 등장한다. topic이라는 table을 만들고, DESC 을 입력하면 다음과 같이 반환하는데, 만든 table의 구조를 확인할 수 있다. 1. INSERT - 관계형 데이터베이스의 테이블에 새로운 데이터를 삽입(저장)할 때 사용한다. - CRUD의 Create에 해당하는 역할을 수행한다. *INSERT INTO 테이블명(컬럼1, 컬럼2, ...) VALUE..

개발/DB 2023.05.29

[엘리스트랙 SW 4기 | 2차 스터디] ai를 이용한 사용자 감정에 맞는 그림 서비스 프로젝트 스터디 마무리

스터디를 마무리하며.. 스터디를 프로젝트로 하기로 결정하고, 사용자와 ai와의 채팅을 통해 사용자의 성향을 파악, 원하는 화풍, 색, 성향 등을 고려하여 현재의 감정에 맞는 그림을 보여주는 프로젝트를 하였다. { "color": "skyblue", "style": "Claude Monet's painting style", "summary": "Fostering understanding, empathy, and patience leads to meaningful relationships." } 색, 화풍, 채팅의 결과를 토대로 조건이 적용된 반환값이다. api를 만드는데는 그렇게 어렵지 않았던 것 같다. 아무래도 한번 해봤다보니 어떻게 해야 할지 어느 정도 구조가 눈에 보였고, 1주일정도만에 포스트맨 통해..

[프로그래머스 | JavaScript] 소수 만들기 시간복잡도 O(sqrt(n))

https://prpn97.tistory.com/88 [프로그래머스 | JavaScript] 소수 찾기 코테 문제를 풀다가 시간초과가 떴다. 테스트케이스는 금방 통과했는데, 1~8번 테스트케이스도 통과했는데, 9~12번은 시간초과가 떴다. 아마 답 자체는 맞았겠지만, 반복문을 3중으로 돌리고, 그 prpn97.tistory.com 이전에 소수 찾는 문제를 풀면서 에라토스테네스의 체를 사용했는데, 다른 방법으로 소수 관련된 문제를 풀어보고자 한다. 제곱근을 이용한 방법이다. 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개..

[프로그래머스 | JavaScript] 소수 찾기

코테 문제를 풀다가 시간초과가 떴다. 테스트케이스는 금방 통과했는데, 1~8번 테스트케이스도 통과했는데, 9~12번은 시간초과가 떴다. 아마 답 자체는 맞았겠지만, 반복문을 3중으로 돌리고, 그 안에 조건문도 있고 여러 경우가 들어있어서 복잡해서 그런게 아닌가 싶다. 조금 간추려보기도 했는데, 각 수의 약수를 한 배열에 담아서 1과 자신이 바로 나오면 (소수의 조건대로) answer에 누적해보기도 했지만 10~12번이 시간초과가 떴다. 조건을 살펴보니 n은 2이상 1000000이하의 자연수이다. 어떻게 해도 알고리즘 생각하지 않고 풀면 시간초과가 뜨는 것 같다. 소수를 구하는 방법은 다양하겠지만 에라토스테네스의 체를 이용한 풀이가 일반적인 것 같다. 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전..

[프로그래머스 | JavaScript] 명예의 전당(1)

문제 설명 "명예의 전당"이라는 TV 프로그램에서는 매일 1명의 가수가 노래를 부르고, 시청자들의 문자 투표수로 가수에게 점수를 부여합니다. 매일 출연한 가수의 점수가 지금까지 출연 가수들의 점수 중 상위 k번째 이내이면 해당 가수의 점수를 명예의 전당이라는 목록에 올려 기념합니다. 즉 프로그램 시작 이후 초기에 k일까지는 모든 출연 가수의 점수가 명예의 전당에 오르게 됩니다. k일 다음부터는 출연 가수의 점수가 기존의 명예의 전당 목록의 k번째 순위의 가수 점수보다 더 높으면, 출연 가수의 점수가 명예의 전당에 오르게 되고 기존의 k번째 순위의 점수는 명예의 전당에서 내려오게 됩니다. 이 프로그램에서는 매일 "명예의 전당"의 최하위 점수를 발표합니다. 예를 들어, k = 3이고, 7일 동안 진행된 가수..

[프로그래머스 | JavaScript] 폰켓몬

문제 설명 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫..

[이진 탐색 | JavaScript] 기본 이해 및 시간복잡도 O(log n)

**이진탐색에 관한 설명만 필요하다면 가장 아래를 확인해주세요. 예시 여러 이름들이 나열된 배열이 있다. 이 중에서 특정 이름이 어디에 있는지 바로 알 수 있을까? 10개가 나열되어 있으면 처음부터 쭈욱 살펴보면 눈으로 금방 확인할 수 있을 것이다. 하지만 100개만 되더라도 특정 이름을 바로 확인하기엔 어렵다. 예를 들어서 전화번호부에서 원하는 이름을 찾고 싶은데, ㄱ부터 찾기 시작하는데 황씨인 사람을 찾으려면 처음부터 맨 끝까지 일일히 확인해야 한다. 하지만 우리는 황씨가 ㅎ으로 시작하므로 맨 마지막 쯔음에 있을 것을 짐작할 수 있다. 이처럼 힌트가 있다면 갈피를 잡는데 수월할 수 있지만, 힌트가 없다면 우리는 유추해야 한다. 100개의 이름을 찾는데 1부터 100을 찾아보는 것보다 좋은 방법이 있다..

728x90