728x90
반응형

이번 주 알게 된 점

튜터님이 Node와 레이어드아키텍쳐 어느정도 알게 되었으니,

nest도 도전해보라고 하셔서 이번주 내내 nest 공부완료

 

이번주 목표 달성 여부

Nest.js 강의 다 듣고, 직접 실행하고

블로그에 요약본 올리기 완료.

 

직접 입력해보고 서버 돌리는 것만 해도

오류를 만나면서 배우는게 많았따.

 

다음주 목표 세우기

최종 프로젝트 (아직 무계획)

728x90
반응형
728x90
반응형

1. 문제
프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ A로 B 만들기]

    2. 시도해본 것들

    30분간 고민해봤다. 이중for문을 사용해야 하는 문제인가?

    근데 중복된 ll pp 같은건 어떻게 검증해야하지?

    내가 아는걸로 풀 수 있는건 맞겠지?

     

    고민을 많이 했지만 풀 수 없었다. 남은 시간 다른 공부를 해야하기 때문에

    검색하여 정답을 찾았다.

     

     

    3. 해결과정

    정답을 보니 이런 방법으로 풀 수 있다니 신기해서 가져왔다.

    우선 풀이과정에서 before / after를 동일하게 만들지 않아도 되는구나

    단순히 sort로 정렬해서 같은지만 보면 되는거였구나?

     

    우선 문자열 상태에서 공백을 없앤다 = split("")  [String]

    배열상태로 분류한다 = sort() [Array]

    다시 , 같은 잡음없이 공백없이 문자열로 변환한다 = join("") [String]

    3항연산자로 true = 1 , false = 0 으로 반환한다 끝!

     

    4. 알게 된 점

    나의 코드

    function solution(my_string) {
    	//실패...
    }

     

    남의 코드

    function solution(before, after) {
        return before.split("").sort().join("") === after.split("").sort().join("")? 1:0;
    }
     
    728x90
    반응형
    728x90
    반응형

    1. 문제
    프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 중복된 문자 제거 ]

    2. 시도해본 것들

    for문으로 해결할 수 있을꺼라 생각했는데,

    생각보다 로직이 복잡하고 헷갈렸다.

    그래서 우선 중복된 문자를 제거할 방법을 검색했다.

     

     

    3. 해결과정

    문자열을 제거할 방법은 Set()함수가 좋아보였다.

    다만 객체 {  } 로 반환하니 다시 배열로 만들어 줘야한다.

     

    4. 알게 된 점

    나의 코드

    function solution(my_string) {
    	// 문자열 배열로 만들기
        const arr = [...my_string];
        // 중복제거 된 { } 객체를 다시 [ ]로 만들기
        const arr_set = Array.from(new Set(arr));
        // 그냥 String()을 하면 , 가 생기니 join("")으로 문자열 만들기
        return arr_set.join("")
    }

     

    남의 코드

    function solution(my_string) {
        return [...new Set(my_string)].join('');
    }
     

    문자열 자체를 Set함수로 객체{} 만들고 바로 배열만들고 바로 문자열........

    진짜 깔끔하다

    728x90
    반응형
    728x90
    반응형

    1. 문제
    프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 문자열 정렬하기2 ]

    2. 시도해본 것들

    조건1) 모두 소문자로

    조건2) 알파벳 순서대로 정렬

     

    3. 해결과정

    문자열을 소문자로 바꿔주는 toLowerCase()

    그리고 split으로 하나씩 쪼갠후 sort 정렬하고 다시 join으로 묶기

     

    4. 알게 된 점

    나의 코드

    function solution(my_string) {
      let answer = "";
      answer = my_string.toLowerCase().split("").sort().join("");
      return answer;
    }

     

    남의 코드

    function solution(my_string) {
        return my_string.toLowerCase().split('').sort().join('');
    }
     
     
    728x90
    반응형
    728x90
    반응형

    1. 문제
    프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 숫자찾기 ]

    2. 시도해본 것들

    숫자를 배열에 바로 넣어보았는데 자꾸 값이 0이 반환되었다.

    숫자를 문자열로 바꾼후 배열에 추가하니 생각대로 되었다.

     

    3. 해결과정

    k와 일치하는 자리수는 인덱스+1이라는 사실을 깨닫고

    for문안에서 검사하여 답을 찾아 +1했다.

    그외에는 -1 반환

     

    4. 알게 된 점

    나의 코드

    function solution(num, k) {
        let str = String(num); //"29183"
        let arr = [...str]; // ["2","9","1","8","3"]
        for(i=0; i<str.length; i++){
            if(Number(arr[i])===k){
                return i+1;
            }
        }    
        return -1
    }

     

     

    남의 코드

    function solution(num, k) {
        var answer = num.toString()
        if (answer.includes(k)) {
            return answer.indexOf(k) + 1;
        } else {
            return -1;
        }
    }
     
    728x90
    반응형
    728x90
    반응형

    1. 문제
    프로그래머스 알고리즘 문제풀이 - 자바스크립트 [ 약수 구하기 ]

    2. 시도해본 것들

    24의 결과값을 봤을때, 약수는 해당 값으로 나눴을때 딱 떨어지는

    나머지가 0인 값이다.

     

    3. 해결과정

    모두 탐색해야하기 때문에 for문을 떠올렸다.

    1부터 모두 돌아서 각각 n을 나눴을때 나머지가 0이 되는 값을 배열에 넣었다.

    도대체 어떻게 풀지라고 생각들었던 것인데,

    왜 정답이 저렇게 나오지?

    라고 생각할때 잘 풀리는 것 같다.

     

    4. 알게 된 점

    나의 코드

    function solution(n) {
        var answer = [];
        for(i=1; i<=n; i++){
            if(n%i === 0){
                answer.push(i)
            }
        }
        return answer;
    }

     

     

    남의 코드

    function solution(n) {
        return Array(n).fill(0).map((v, index) => index+1).filter((v) => n%v===0);
    }

    fill은 처음 보는 함수인데 Array(n)은 Array(20)과 같이 숫자(또는 문자열) 20을 반환할 것 이다.

    그럼 fill(0)은 배열에 20개를 모두 0 으로 가득채운다.

    map으로 각각 요소에 인덱스 번호로 1을 더해주면

    인덱스는 0부터 시작하기에 [1,2,3,4, ... 20]이 들어갈 것이고,

    filter를 통해 해당 요소가 나머지가 0일 때에만 값을 반환하도록 한다.

     

    해당 함수들을 알더라도 위와 같은 풀이로 풀지 못했겠지만,

    새로운 방식과 함수를 배워서 뜻 깊다.

    728x90
    반응형
    728x90
    반응형

    이번 주 알게 된 점

    지금까지 이론공부만 했지 직접 손코딩으로

    고민하면서 짜본적이 없었기에 매번 프로젝트를 못따라갔던 것 같다.

     

    우선 B반 이승윤튜터님 강의를 듣고 바로 따라쳐본후,

    강의없이 직접 손코딩을 했다.

    첫번째꺼는 따라치기지만 이후 숫자붙은건 모두 직접손코딩

     

    이번주 목표 달성 여부

    노드JS로

    회원가입, 게시판, 댓글까지 구현완료

    (로그인JWT, 좋아요 미구현)

     

    JWT와 좋아요는 영상 본 직후에도 따라하기에 너무 어려웠다..

    여러번 반복해서 익숙해지긴 했지만,

    완벽하게 따라하는건 어려울 것 같다ㅠㅠ

     

    다음주 목표 세우기

    3계층 이론 강의 듣기 + 직접 3계층 분리하기

    NEST강의듣기

    728x90
    반응형
    728x90
    반응형

    1. 문제

    Table [테이블명] doesn't exist ??

     

    npx sequelize init

    npx sequelize db:create

    npx sequelize model:generate --name User --attributes nickname:string,password:string,confirm:string

     

    모두 작성했고, 회원가입 로직까지 만들어서 post를 보내는데 계속 에러가 난다.

    근데 로직은 맞는 것 같은데 db도 생성했는데 왜 안될까ㅠㅠㅠㅠ

     

    2. 시도해본 것들

     

    구글에 검색해봤다. 테이블이 없을때 발생하는 에러래요~

    뭐야 이 뻔한 얘기는.. 영어로 테이블 없다고 써져있잖......어??

     

    3. 해결과정

     

    npx sequelize db:migrate

    생각해보니 이걸 안했네.....

     

     

    4. 알게 된 점?

     

     

    npx sequelize init

    npx sequelize db:create

    npx sequelize model:generate --name User --attributes nickname:string,password:string,confirm:string

     

    3가지를 하고나면 생성된 모델과 마이그레이션을 수정하느라

    npx sequelize db:migrate 를 까먹게 된다ㅠㅠ

     

    모델 생성하면 다음것도 꼭 해야하는데생성된걸 수정하다보면 까먹는다..... 다음엔 잊지말아야지!

    728x90
    반응형

    + Recent posts