(1).백준 8815번 Test는 살짝 젓가락 게임이나 369처럼 규칙에 의해 알파벳을 출력해야 하는 문제로

초기 A를 제외한 나머지는 12개의 규칙에 의해 동일하게 반복되기 때문에

%12를 통해 해당 배열 index를 출력하게 만드는 방식으로 해결했다.

 

const input = `2
5
1
14
15
16`.split('\n').map(Number)

const resultArr = ['A', 'B', 'C', 'B', 'C', 'D', 'C', 'D', 'A', 'D', 'A', 'B', 'A']

for(let i = 1 ; i < input.length ; i++){
    console.log(resultArr[(input[i] - 1) % 12])
}

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

[개발일지] - 263  (0) 2024.03.19
[개발일지] - 262  (1) 2024.03.18
[개발일지] - 260(주말)  (0) 2024.03.16
[개발일지] - 259(연차)  (0) 2024.03.15
[개발일지] - 258(예비군)  (0) 2024.03.14

오늘은 드디어 테스트를 작성하는 날로

a, b org에 들어가는 테스트를 작성하고

시간이 남을 경우 pmd도 설치한 다음 pmd도 잡아둘 예정이다.

 

필터, 정렬 기능등도 추가하고 싶고 org3개 생성도 있지만

해당 기능은 완성 후 복붙 느낌으로 추가하기 때문에

org 하나당 2시간도 안걸릴 것 같고

필터, 정렬은 메서드 수정이 필요하기 때문에

중간에 막힐 것을 대비해 일차적 완료 상태 후 진행하기로 했다.

 

A org 먼저 테스트를 진행하는데 params를 제대로 입력할 수 없어 한참 시간이 걸렸다.

 

URI부분에 pamas를 넣는 방식으로 했었기 때문에

/?ids=idA,idB 형태로 주소를 넣어줬지만 null이 출력되어 일반 값을 받아오게 되었고

하나의 메서드 내부에 if문으로 분기했기 때문인지 두개로 나누기 애매해서

하나로 테스트를 하려고 했지만 startTest가 하나의 테스트메서드 내에 두개가 존재해서는 안되는 것 같았다.

 

어찌저찌 addParameter라는 메서드를 발견해 진행할 수는 있었지만

검색해서 나오는 대부분이 서로 다른 주장을 펼치고 있고

각자 된다고 하는 것을 보면 버전이 바뀔 때마다 메서드도 변하는건지

왜 저 답변이 채택된 상태로 존재하는지 이해가 되지 않았다.

 

스케쥴쪽을 진행하는 것은 쉽다고 생각했지만 생각하지 못한 부분에서 문제가 발생했는데

mock을 사용해서 진행하지 않으면 호출이 되지 않았고

해당 mock에서는 dml을 사용해야 제대로 된 반응을 보냈기 때문에

dml을 사용하는 mock을 만들어야 했지만 제대로 진행되지 않았기 때문에

html mock을 사용해서 대충 mock만 덮어씌우고

테스트 커버리지는 100%를 달성했지만

많이 찝찝한 상태로 마무리했다.

 

(1).백준 5692번 팩토리얼 진법은 말 같지도 않은 문제였는데

본인만의 숫자 계산 방식으로 각 자릿수의 팩토리얼을 해당 자리에 있는 숫자와 곱한 합이

본인만의 팩토리얼 진법수라는 말도 안되는 주장을 하는 문제였다.

 

그냥 그런 규칙을 가지고 있다는 것도 아니고 719는 53이 되는데

719가 아닌 숫자들도 53이 될 수 있기 때문에 일방적으로만 교환되서 이걸 왜 이렇게 하는지 답답헀다.

 

어쨌건 문제에서 요구하는대로 각 자릿수의 팩토리얼 숫자와 해당 숫자를 곱한 합을 출력했다.

const input = `719
1
15
110
102
0`.split('\n')

const factorial = [0,1,2,6,24,120]
const result = []

for(let i = 0 ; i < input.length-1 ; i++){
    const length = input[i].length
    const arr = input[i].split('').map(Number)
    let sum = 0
    for(let j = 0 ; j < length ; j++){
        sum += arr[j] * factorial[length-j]
    }
    result.push(sum)
}

console.log(result.join('\n'))

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

[수습일지] - 51  (0) 2023.05.16
[수습일지] - 50  (0) 2023.05.15
[수습일지] - 48(주말)  (0) 2023.05.13
[수습일지] - 47  (0) 2023.05.12
[수습일지] - 46  (0) 2023.05.11

+ Recent posts