Development

[TIL] 코딩 테스트, Node.js 게시판, DB index 공부

개발자 강정 2022. 1. 25. 21:07

오늘의 코딩 테스트 결과 - 패배

https://programmers.co.kr/learn/courses/30/lessons/42586

 

코딩테스트 연습 - 기능개발

프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는

programmers.co.kr

//  https://programmers.co.kr/learn/courses/30/lessons/42586

//  결국 힌트를 찾아보고 이렇게 풀었다.

function solution(progresses, speeds) {
    let working_days = progresses.map((p, i) => Math.ceil((100 - p) / speeds[i]))

    let number = working_days[0]
    let publishes = [0]

    for (let i = 0, j = 0; i < working_days.length; i++) {
      if (working_days[i] > number) {
        number = working_days[i]
        publishes[++j] = 1  //  j의 값을 늘리고 넣는다는 의미
      } else {
        publishes[j]++
      }
    }
    return publishes
}



//  원래 풀었던 풀이인데 찾아본 모든 테스트 케이스에서 답을 내놓는다. 왜 틀린 걸까?
//  답은 단순할 수록 정확한 것 같다.
function solution(progresses, speeds) {
    let working_days = []
    for (let i = 0; i < progresses.length; i++) {
      const working_day = Math.ceil((100 - progresses[i]) / speeds[i])
      working_days.push(working_day)
    }

    let publishes = []
    let publish
    let number
    for (let i = 0; i < working_days.length; i++) {
      if (!number) {
        number = working_days[i]
        publish = 0
        continue
      }
      if (working_days[i] > number) {
        number = working_days[i]
        publish = i - publish
        publishes.push(publish)
      }
    }
    if (publishes.length === 0) {
        return [progresses.length]
    }
    const last_publish = progresses.length - publishes.reduce((a,b) => a+b)

    publishes.push(last_publish)
    return publishes
}

난 열심히 풀었는데 답이 아니라고 한다...

 

Node.js로 만든 게시판을 ec2에 배포

https://github.com/fancyers/hanghae-blog

 

GitHub - fancyers/hanghae-blog: Node.js와 express로 로그인 기능이 없는 나만의 항해 블로그 만들기

Node.js와 express로 로그인 기능이 없는 나만의 항해 블로그 만들기. Contribute to fancyers/hanghae-blog development by creating an account on GitHub.

github.com

서버는 언제 닫힐지 모르니 주소는 올리지 않아야겠다. fileZilla가 아닌 git을 통해 파일을 업데이트하고, pm2로 서버를 유지시키는 경험이 상당히 재밌었다.

 

DB index관련 자료 조사

https://traveling-wallaby-56e.notion.site/DB-Index-cb514bdfbdd44ada9536c05550c0aa98

 

DB Index

DB index라는 것을 알아야 하나요?

traveling-wallaby-56e.notion.site

 

Node.js로 크롤링 하기

https://github.com/fancyers/learn-nodejs/tree/master/books-crawler

 

GitHub - fancyers/learn-nodejs

Contribute to fancyers/learn-nodejs development by creating an account on GitHub.

github.com