예전에는 한번 처리하는데 하루도 걸리던 인터페이스 업무긴 했지만

한달에 한두번 들어오는 정도였는데 요즘은 거의 하루에 한번 가까이 들어오고 있는 것 같다.

 

물론 지금은 인터페이스 반영, 로직 수정, 운영 배포 등을 다 해도 한두시간이면 수정이 가능하고

새로운 인터페이스를 만드는 것 자체도 정의만 잘 되어있다면 하루도 안걸리기 때문에 처리는 가능하지만

하나의 회사에서 다른 인터페이스들을 여기저기에서 받으면서 작성하니 점점 정신이 없어진다.

 

특정 주문 미결 관련 기록 변경사항 관리 인터페이스를 마치고

판매 관련 행 인터페이스를 진행했고 어제 했던 고객사 유지보수 시간 등록을 마쳤다.

 

추가로 인터페이스 된 내용에 따라

기존에 양방향 인터페이스를 하기로 했던 개체에 사용될 필드 기준점도 변경했는데

Flow를 통해 생성되는 개체기 때문에 Flow 내부에서 생성 기준점들을 변경하고 테스트했다.

 

인터페이스 정의서에는 Int로 되어있고 18,0으로 넘어왔기 때문에 숫자로 처리했는데

세일즈포스에서는 숫자 타입의 경우 1,000,000 처럼 구분자가 들어있기 때문에

주문번호 같은 값들의 경우 숫자로 넘어온다고 하더라도 문자열로 처리해서 1000000같은 형태로 변경해야 했다.

 

추가된 인터페이스를 이전 인터페이스마냥 추가 로직을 다시 요청받았는데

새로 생성된 필드에 새로운 값이 들어갈 경우 before 필드에 값을 추가하고

before와 최근 값을 비교하는 fm필드를 개발, 운영에 생성 후 배포했다.

 

작성된 내용을 보던 중 특정 주문번호 추적이 변경되는 경우에도 before값이 남아있었는데

이 부분은 새로 Date 부분이 null로 오는 경우 before값을 지워버리는 방식으로 개선해줬다.

 

통화 관련 요청이 있었기 때문에 해당 내용에 대해서 확인하다가

수정내용이 원하는대로 적용되었는지 문의가 들어와서 해당 부분에 대해 답변 후 정리하고 퇴근했다.

 

 

(1).백준 4619번 루트는 루트라기보다는 Pow 또는 제곱이라고 이름을 지어야 할 것 같았는데

특정 숫자에 가장 가까운 a의 지정된 제곱수를 구해야 하는 문제였다.

 

심지어 각각의 테스트케이스가 있었기 때문에 1차 for문으로 각각의 테스트케이스를 분리했고

테스트케이스 내부에서는 다시 for문으로 순회하며 값이 초과하는 시점까지 제곱된 값을 기록했고

그 값이 목적 값과의 차이를 Math.abs를 사용해서 Math.min으로 최소값을 비교해주고

해당 최소값의 제곱 전 값을 기록해준 다음 최종적으로 result에 담아서 한번에 출력해줬다.

const input = `4 3
5 3
27 3
750 5
1000 5
2000 5
3000 5
1000000 5
0 0`.split('\n')

const result = []

for(let i = 0 ; i < input.length - 1 ; i++){
    const [a, b] = input[i].split(' ').map(Number)
    let min = 1000000
    let index = 0
    for(let j = 1 ; j <= 1000000 ; j++){
        if(Math.abs(a - j ** b) < min){
            min = Math.abs(a - j ** b)
            index = j
        }
        if(j ** b > a){
            break
        }
    }
    result.push(index)
}

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

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

[개발일지] - 438  (0) 2024.09.13
[개발일지] - 437  (1) 2024.09.13
[개발일지] - 435  (1) 2024.09.10
[개발일지] - 434  (0) 2024.09.09
[개발일지] - 433(주말근무)  (1) 2024.09.08

+ Recent posts