Chapter 2. 프로젝트 설계
 Chapter2-1. 화면 정의서
  1.화면 정의서를 문서화 할 수 있습니다.
 Chapter2-2. 테이블 명세서
  2.테이블 명세서를 문서화 할 수 있습니다.
 Chapter2-3. API 명세서
  3.REST API 작성 규칙을 학습하고 효과적인 API 설계를 할 수 있습니다.

1.화면 정의서에 ID, 화면명, 유형, 경로, 개요, 기능번호, 요구사항명세서 ID, 유효성 체크등을 기입해 작성했다.



2.테이블 명세서에 대해서는 백엔드가 관리하는 부분이기 때문에 데이터 요구사항에 대해 정리만 해서 백엔드쪽으로 넘겨주고 화면 정의서를 작성하는 시간을 가졌었다.


3. /로 끝내지 않고 
_대신 -를 사용하며 
대문자 대신 소문자를 사용하고 
동사의 사용 대신 메서드를 전달하며 
GET, POST, PUT, DELETE를 사용해 CRUD에 해당하는 메서드를 대응시키는 것으로 학습했지만
이 부분도 백엔드분들이 담당하기 때문에 학습만 하고 직접 작성은 해보지 않았다.


 


CT(1).특정 색을 제외하고 칠하는 방식에서 각 위치마다 색의 가격이 다를 경우 본인 색을 제외한 다른 색들을 Math.min을 이용해 dp로 처리하면 최저값, 최저비용, 최고값 등을 구할 수 있다.


CT(2).제출하기 전 console을 찍은 흔적들을 지워줘야한다. 만약 콘솔을 지우지 않고 보낸다면 제출 시 콘솔도 정답으로 출력되어 오답이 찍힐 수 밖에 없다.
운이 없다면 그 부분을 확인하지 못하고 원인을 힘겹게 찾아야 하고
운이 좋다면 출력 초과를 볼 수 있다.


CT(3).조건 중 3번 연달아 할 수 없다는 의미는 1 1 x 1 1 x 또는 1 x 1 1 x 1 x 1 1 형태뿐만 아니라 1 x x x 1 x x x x x 1 1등의 연달아 하지 않는 선택지도 있음을 기억해야한다. 


CT(4).테스트케이스 내부에 조건과 배열이 들어있을 경우 아래와 같이 분할해 입력조건으로 바꿔준다.

let input = `2
5
50 10 100 20 40
30 50 70 10 60
7
10 30 10 50 100 20 40
20 40 30 50 60 20 80`.split('\n')
let arr = []

for(let i = 1 ; i < input.length ; i+=3){
    let a = input.slice(i,i+3)
    for(let j = 0 ; j < 3 ; j++){
        if(j === 0){
            a[j] = Number(a[j])
        }
        else{
            a[j] = a[j].split(' ').map(Number)
        }
    }
    arr.push(a)
}

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

[Pre-Project 개발일지]-2  (0) 2022.08.26
[Pre-Project 개발일지]-1  (0) 2022.08.25
프로젝트 관리하기  (0) 2022.08.23
프로젝트 시작하기  (0) 2022.08.22
학습(알고리즘)  (0) 2022.08.21

+ Recent posts