log 2022-01-12
blog
문제 정해졌고 오늘부터 풀이 예정.
근데, 여기서 적어놓은 private 포스트들 못옮기는거 아니겠지??
job
GOP-14062 작업 - 티켓 정리, 계획 정리, 흐름 재설계
도대체 테스트를 어떻게 할 것인가? redis를 mock하면 가능할 듯도 한데, 그러면 유닛 테스트와 별반 다를 게 없다. 그래도 의미는 있을지도??
추가 문서 읽기
문제 생겼을때를 위해 운영 관련 다양한 문서 읽어두는 중.
GOP-14062 작업 - 테스트 설계
설계 시작해보기. rxjs상으로도 생각 좀 해야함.
fixture에 유저 집합이 정해진 액션들을 순차 처리하도록 하고, 그렇게 했을 때 예상대로 동작하도록..
study
rxjs 공부 8 - hello rxjs 실습
https://streami.atlassian.net/wiki/spaces/LAB/pages/819789946/Hello+RxJS
위 문서에 있는 예제들 한번씩 읽어보고, 배포 및 실행해봄 응용까지는 패스, 근데 예제 중에 스로틀링하는게 있는게 그런 걸 그냥 대기 시스템에 적용할 수 있다면 좋겠지만, 단순 그런 방법으로는 대기 요청들이 멈춰있고 정보를 얻을 수 없기 때문에 안될 것 같다. 또한 다중화되어있는 부분도 문제다.
일단 티켓 정리 다시 해보자.
sport
적용사항:
sport:
- [x] leetcode - https://leetcode.com/problems/add-two-numbers/ @started(22-01-12 18:55) @done(22-01-12 19:15) @lasted(20m46s)
leetcode - https://leetcode.com/problems/add-two-numbers/
런타임 에러 2번
- 반복문에서 다음 커서로 옮겨주는것 빼먹음.
- 리스트 끝에 달한 경우에도 다음 커서로 옮기려 해서 에러남.
ts solution
/**
* Definition for singly-linked list.
* class ListNode {
* val: number
* next: ListNode | null
* constructor(val?: number, next?: ListNode | null) {
* this.val = (val===undefined ? 0 : val)
* this.next = (next===undefined ? null : next)
* }
* }
*/
function addTwoNumbers(l1: ListNode | null, l2: ListNode | null): ListNode | null {
let cur = 0;
let l1cur = l1;
let l2cur = l2;
let l1done = l1cur === null;
let l2done = l2cur === null;
let prevNode = null;
let up = false;
let head = null;
while (!(l1done && l2done)) {
const curNode = new ListNode();
if (up) {
curNode.val += 1;
up = false;
}
if (!l1done) {
curNode.val += l1cur.val;
l1cur = l1cur.next;
}
if (!l2done) {
curNode.val += l2cur.val;
l2cur = l2cur.next;
}
if (curNode.val >= 10) {
up = true;
curNode.val -= 10;
}
if (prevNode) {
prevNode.next = curNode;
} else {
head = curNode;
}
l1done = l1cur === null;
l2done = l2cur === null;
prevNode = curNode;
}
// if end with up, add one more on tail
if (up) {
const curNode = new ListNode();
prevNode.next = curNode;
curNode.val = 1;
up = false;
}
return head;
};
Comments