배포에 대해서 보던 중 동기분이 알려주셨는데 
깃허브 페이지는 그 제이슨 패키지에 해당 깃허브페이지를 꼭 홈페이지에 적어주고
(package.json에 homepage: 본인깃헙.github.io/그 레포이름)
라우터를 쓸경우 브라우즈 라우터에 basename인가 거기에 주소를 적어야 한다는 것을 알려주셨다.
그리고 gh-pages 라이브러리사용하면 알아서 번들링해주고 올려준다고 한다.

그리고 라우터에 사용하는 방식은 아래 코드를 BrowserRouter 부분에 props로 받아주고
<BrowserRouter basename={process.env.PUBLIC_URL}>
  <Router />
</BrowserRouter>
env에 환경변수를 아래처럼 설정해줘야 한다고 한다.
env.process.REACT_APP_BASE_URL 

netlify도 확인해보니 현재 월 이용량의 0.2%도 사용하지 못했기 때문에
비용 걱정없이 프로젝트를 진행할 수 있을 것 같다.

서버는 https://namu.wiki/w/Let's%20Encrypt를 참고해보면 letsencrypt라는 ssl인증기능을 무료로 편하게 사용할 수 있다는 것 같은데 언젠가 서버를 만들 일이 있으면 더 알아봐야 할 것 같다.

2시가 넘어서 동기 중 한분이 오셔서 대화를 하다가
그분의 팀은 http로 해서 소통이 됐다는 말을 듣고 질문하니
EC2로 클라이언트를 올렸고 그렇게 할 때는 http / https를 선택할 수 있었다 라는 답변을 받을 수 있었다.
EC2 말고 S3로도 배포할 수 있기 때문에 S3로 배포하는 법을 배워도 좋을 것 같다.
현재는 아이디어도 정해지지 않은 상황이지만 HTTPS 대신 HTTP로 서버띄우는 방법을 사용하거나 HTTPS를 letsencrypt를 사용해 HTTPS로 서버를 올리는 방법에 대해 학습할 시간이 필요하고 Redux 또는 TypeScript 중 하나를 선택해 적용하기로 하는 시간을 가져도 좋을 것 같다.

정 힘들면 먼저 리액트로 개발하고 그 위에 리팩토링을 하는 방식도 괜찮을 것 같은데
단점으로는 그냥 시작부터 하는 것 보다 훨씬 어렵다는 말이 있다.



CT(1).퇴사2는 퇴사와 같은 유형의 문제지만 범위가 훨씬 커지고 작업량의 규모도 더 커졌다는 차이점이 있었다.
값의 -를 찾기 위해 Array의 기본값을 num+50으로 dp를 생성했다.
해결 코드는 아래와 같다.

let input = `10
5 50
4 40
3 30
2 20
1 10
1 10
2 20
3 30
4 40
5 50`.split('\n') // input 받아오기

let num = Number(input[0]) //갯수 받아오기
let dp = new Array(num+50).fill(0) //작업일수가 50일까지 있으므로 +50으로 dp를 만든다

for(let i = num ; i > 0 ; i--){ //num부터 역순으로 내려간다.(1일까지)
    let [a,b] = input[i].split(' ').map(Number)

    if(i+a-1 <= num){ 
        dp[i] = Math.max(dp[i+a] + b , dp[i+1]) // 작업이 없으면 다음 날의 값, 작업이 있으면 a만큼의 날짜가 지난 날의 수익과 다음날의 수익을 비교해 더 큰 값을 넣어준다.
    }
    else{
        dp[i] = dp[i+1]
    }
}
console.log(dp[1])




CT(2).점프와 순간 이동은 dp로 해결해볼까~라는 생각이 무섭게 10억 이하의 자연수라서 포기했다.
n/2, (n-1)/2 처리로 내려가도 적합한 값이 나올 것 같아서 해보니 정답처리가 되어 다행이었다. 여기는 0.05ms인데 도대체 기준이 왜 이렇게 까다로울까 싶을 떄가 있다.


CT(3).행렬의 곱셈은 규칙에 맞게 for문으로 맞는 위치들의 곱을 구해준 다음 합한 값을 넣어주는 방식으로 해결했다. arr1, arr2가 랜덤으로 들어갈 경우 조건문으로 가능한지 체크도 해줘야 하고 앞,뒤 순서도 중요헀지만 여기서는 고정되서 편하게 해결할 수 있었다.
백준에서 이미 같은 행렬의 제곱(size가 랜덤)을 처리해봤기 때문에 크게 고민하지 않고 해결할 수 있엇다.


CT(4).H-Index는 sort로 정렬해서 해당하는 숫자 이상의 갯수를 체크하는 문제로 length만큼의 갯수부터 1개씩 줄여나가며 체크하면 되는 문제였다.


CT(5).2016년이라는 문제는 월 날짜를 엄지손가락부터 시작해서 입력 자체가 잘못됬었다.
재미있는 사실은 월별 날짜가 잘못 기입되었음에도 {1:31,2:29,3:31,4:30,5:31,6:30,7:31,8:30,9:31,10:31,11:30,12:31}
14개의 테스트케이스 중 1개를 제외하고는 모두 통과했다..


CT(6).튜플은 2레벨에 난이도도 좀 있는 문제라고 생각했는데 1점을 받아 슬펐다.. 쪼개서 숫자로 나눠준 다음 각 숫자를 객체에 할당해주고 그 객체를 다시 배열화(x숫자,y개)해서 y를 기준으로 내림차순 정렬한 다음 answer에 for문으로 x를 push해줬다.


CT(7).위장이라는 문제는 (a+1)(b+1)(c+1)-1의 방식으로 조합을 구할 수 있다.

'회고' 카테고리의 다른 글

[Main-Project 개발일지]-5(추석)  (0) 2022.09.12
[Main-Project 개발일지]-4(추석)  (0) 2022.09.11
[Main-Project 개발일지]-2(추석)  (1) 2022.09.09
[Main-Project 개발일지]-1  (0) 2022.09.08
Pre-Project 개발회고  (2) 2022.09.07

+ Recent posts