일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- vue3
- 배열
- 스택
- 브라우저
- 타입스크립트
- 포인터
- C
- 연결 리스트
- APOLLO
- 알고리즘
- RxJS
- GraphQL
- 해시테이블
- 프론트엔드
- 코딩테스트
- 이진탐색
- 자료구조
- 프로그래머스
- 웹팩
- Machine Learning
- cors
- 자바스크립트
- 컨테이너
- 프로세스
- 큐
- pytorch
- alexnet
- RT scheduling
- 연결리스트
- 릿코드
- Today
- Total
목록전체 글 (164)
프린세스 다이어리

상황: 웹뷰 진입 시, 앱에서 받아오는 특정 값을 다시 내가 어딘가로 전송해 줘야 하는데, 전송해 주는 값이 틀렸다고 QA 팀에서 이슈를 올려주심. 내가 잘못한건지 앱팀이 잘못한건지 확인하기 위해 앱 소스를 받아서 디버깅을 해보았다. swift 눈뜬 장님이 남이 짠 swift 코드에서 로그 찍어보는 방법을 소개한다. (별거없음) 1. xCode에서 프로젝트를 열고, 원하는 곳에 print(어쩌고)를 찍어준다. // ... if error == nil { print(data) } // ... - 참고로 swift에서는 null이 nil이다. 2. 원하는 곳에 breakpoint를 걸어준다. (옵션) - 뭔가 콘솔에 내가 잘 모르는 많은 로그가 찍혀서 쉽게 확인할 수 있도록 breakpoint를 찍어줬다. ..

문제 링크 1. 접근 방법 (1) 두 리스트의 head를 비교하고, 둘 중 큰 head를 작은 head의 next로 연결하는 아이디어다. (2) list1이나 list2가 null이면 둘 중 다른 리스트의 나머지를 다 리턴한다. if (!list1) return list2; if (!list2) return list1; (3) list1.val이 list2.val보다 작으면 list1의 next를 list2로 옮겨준다. list1.next와 list2를 인자로 넘겨준 결과를 list1이 가리키도록 하면 된다. if (list1.val

1. 접근 방법 (1) 힌트에 이전 피보나치 문제처럼 풀라고 해서 재귀로 풀었더니 시간 초과가 났다(???). 그래서 DP로 풀었다. (2) 베이스 케이스를 써 준다. stairs[1] = 1; stairs[2] = 2; (3) for문을 돌면서 점화식을 이용해 연산해준다. for (let i = 3; i

문제 링크 1. 접근 방법 (1) 이전에 계산해 둔 결과를 활용하여 지금 연산을 하는 메모이제이션 방식이다. (2) cache 객체를 만들어 놓고, 함수를 재귀적으로 실행할 때 cache에 해당 값이 이미 존재하면 그 값을 리턴한다. if (Object.keys(cache).includes(n)) { return cache.n; } (3) cache에 해당 값이 없으면, 값을 리턴한다. 피보나치 배열에서는 인덱스 0, 1은 각각 값이 0과 1이고, 그 다음 인덱스부터는 이전 인덱스에 해당하는 값과 이이전 인덱스에 해당하는 값을 더한 값이 할당된다. if (n < 2) { result = n; } else { result = recur(n - 2) + recur(n - 1); } (4) cache에 인덱스..

1. 접근 방법 (1) 구하고자 하는 rowIndex의 각 원소의 값을 구하려면 이전 rowIndex의 각 원소의 값이 필요하기 때문에 통째로 삼각형을 만들어주면 된다. (2) n번째 줄의 각 원소는 다음과 같이 구성돼 있다. 인덱스 0은 1, 인덱스 1~n-1는 n-1번째 줄의 인접한 왼쪽, 오른쪽 원소를 더한 값, 인덱스 n은 1이다. (3) (2)번의 내용을 이중 for문을 이용해 만들어준다. row.push(1); for (let i = 1; i 0; j--) { row[j] = row[j - 1] + row[j]; } // 맨 마지막은 직접 넣어준다. i = 1인 경우 j for문은 타지 않음. row.push(1); } (4) 중첩된 j for문에서 j를 거꾸로 감소시키는 이유는 j for문에..

1. 자바스크립트는 다른 언어와 달리 정수와 실수를 구분하지 않고 하나의 숫자 타입만 존재한다. // 모두 숫자 타입 var integer = 10; var double = 10.12; var negative = -10; 2. 자바스크립트는 2진수, 8진수, 16진수를 표현하기 위한 별도의 데이터 타입을 제공하지 않기 때문에 모두 10진수로 해석된다. var binary = 0b01000001; // 2진수 var octal = 0o101; // 8진수 var hex = 0x41; // 16진수 console.log(binary); // 65; console.log(octal); // 65; console.log(hex); // 65; console.log(binary === octal;) // true..
1. 값 값은 표현식(expression)이 평가(evaluate)되어 생성된 결과를 말한다. 10 + 20; //30 - 위의 식은 평가되어 숫자 값 30을 생성한다. 평가란, 식을 해석해서 값을 생성하거나 참조하는 것을 뜻한다. var sum = 10 + 20; - 변수는 하나의 값을 저장하기 위해 확보한 메모리 공간 자체, 또는 메모리 공간을 식별하기 위해 붙인 이름이다. 변수에는 값이 할당된다. - 변수 이름 sum이 기억하는 메모리 공간에 저장된 것은 10 + 20이 아니라 값 30이다. 따라서 10 + 20은 할당 이전에 평가되어 값을 생성해야 한다. 2. 리터럴 리터럴(literal)은 사람이 이해할 수 있는 문자 또는 약속된 기호를 사용해 값을 생성하는 표기법(notation)을 말한다. ..