회고

[Main-Project 개발일지]-18(주말)

Happy Programmer 2022. 9. 25. 23:50

오늘은 요즘 잠을 많이 못잔 것도 있고
어제 시험으로 인해서 스트레스를 좀 받았는지 알람을 끄고 푹 자고 일어나니
무려 12시간가량 지나있었다.

모달의 CRUD기능부분을 체크하려고 헀는데 생각해보면 냉장고 내부 포스트잇처럼 간단한 메모를 기능으로 생각하고 있기 때문에 U부분은 아직 과한 것 같다는 생각이 들었다.
U로 진행하려고 한다고 하면 Input으로 생성한 다음 block? 같은 방식으로 막아둔 다음 focus가 잡힌 경우 block을 해제하는 방향으로 진행하는 것은 classname의 추가를 삼항연산자로 state 하나를 추가해 어디가 focus 상태인지 체크해 진행해도 나쁘지는 않을 것 같지만

굳이 무리하지는 않고 일단 디자인대로 메모창(모달)이 팝업되고
저장되어진 메모를(서버가 없어서 더미데이터) 가져온 다음
내부의 메모들을 삭제하거나 하단의 Input창에서 추가할 수 있게 만들었다.

월요일에는 백엔드에서도 서버를 열어준다고 하시던데 로그인/회원가입이 된다면
이제 거기에서부터 여러가지 반응들을 연계시킬 수 있게 할 수 있을 것 같다.
만약 로그인이 미뤄진다면 상태관리 도구를 학습해 한두개 더 적용해보고
(그런데 로그인이 아니면 전역상태로 관리해야할 필요성이 떨어지고 다른 데이터도 서버에서 받아오는게 아니기 때문에 테스트하기 애매하긴 하다)
그것도 어려움을 겪는다면 멘토님이 추천해주셨던 MSW를 학습하며 데이터값들을 입력해보고
기존에 json으로 받았던 데이터들을 전부 뜯어고쳐서 서버가 작동하는 순간 바로 테스트 할 수 있는 환경을 만드는 것도 좋을 것 같다.

생각해보면 저 작업이 우선순위로는 더 먼저일 것 같지만 아직까지는 2주정도의 시간이 남았기 때문에 2~3일이 걸릴 수 있는 통합작업보다는 완성도를 더 신경쓸 때인 것 같다.

 

 

 

 

 

 

CT(1).Exotic Foods라는 문제는 포도주 마시기? 또는 음식먹기 같은 dp문제와 유사한 느낌이었지만 문제 조건들이 여러개가 들어온다는 점으로 난이도를 1~2단게 높게 평가한 것 같다.
출력의 답안이 조금 비정상적이게 보이기 때문에 까다로웠지만 다행히 한번에 통과할 수 있었다.

let input = `2
3
3 8 4
4
12 8 9 10`.split('\n')
let result = [] //정답 가공용 배열 선언
for(let i = 2 ; i < input.length ; i += 2){ //규칙적으로 갯수,가치가 표기되므로 2씩 점프
    let arr = input[i].split(' ').map(Number)
    if(arr.length === 1){ //하나만 담긴 경우 무조건 하나 먹은게 최대값
        let a = []
        a.push(`Data Set ${i/2}:`) //아래 4줄은 원하는 출력에 맞춘 가공..
        a.push(arr[0])
        a.push('')
        result.push(a.join('\n'))
        continue // for문 내부이기 때문에 continue로 중단 (if, else 대체 가능)
    }
    let dp = [arr[0] , Math.max(arr[0],arr[1])]
    for(let j = 2 ; j < arr.length ; j++){ //2단위 증가(input기준)
        dp[j] = Math.max(dp[j-1] , dp[j-2]+arr[j]) //일반적 dp처리
    }
    let a = [] //push용 임시 배열 정의 및 하단 처리
    a.push(`Data Set ${i/2}:`)
    a.push(dp[arr.length-1])
    a.push('')
    result.push(a.join('\n'))
}
console.log(result.join('\n').trim()) //마지막에 trim()이 없이 split('\n)을 해보면 ""이 붙어있는 것을 확인할 수 있었기 때문에 불안해서 trim()을 한 다음 제출해서 바로 통과할 수 있었다. ""가 붙어있어서 통과가 안되는지 되는지는 알 수 없다.