일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 파이썬
- web
- 파일 시스템
- 미로 탐색 알고리즘
- OSI
- 암호수학
- HTML
- Java
- ftz
- ftz level13
- C
- c언어
- 시간복잡도
- 백준
- windosws wbcs
- pwnable.kr
- windosw 문자열
- SWiFT
- System
- PHP
- 두근두근 자료구조
- LoB
- level13
- 스택
- Stack
- 자료구조
- 정렬 알고리즘
- 재귀
- War Game
- 큐
- Today
- Total
나의 기록, 현진록
🙋♂️ TDD(테스트 주도 개발)이란? - 매우 짧은 개발 사이클을 반복하는 소프트웨어 개발 프로세스 중 하나이다. - 1. 개발자는 먼저 요구사항을 검증하는 자동화된 테스트 케이스를 작성한다. - 2. 테스트 케이스를 통과하기 위한 최소한의 코드를 생성한다. - 3. 작성한 코드를 표준에 맞도록 리팩토링한다. 테스트가 주가 되어 개발을 이끌어간다. 테스트를 작성하면서 메서드를 완성시킨다. - Red : 실패하는 테스트를 작성하는 구간 - Green : 실패한 테스트를 통과하기 위해 최소한의 변경을 하여 테스트에 성공하는 구간 - Refactor : 테스트의 성공을 유지하면서 코드를 더 나은 방향으로 개선해나가는 구간 🙋♂️ TDD(테스트 주도 개발)의 장점 - 테스트를 통과하는 코드를 작성하기 위해..
시간 초과 문제를 해결하기 위해 고민을 많이 했다. queue의 합을 구하기 위해 reduce나 반복문을 사용하면 queue의 길이만큼 연산하게 되니O(n), 처음 queue의 합을 구하고 합에서 요소만큼 더하기 빼기 연산으로 하면 O(1) queue를 쓰게 되면 removeFirst(), append() 연산 할 때마다 시간 복잡도가 증가함O(n) -> queue 두 개를 합쳐서 dequeue 사용O(1) import Foundation func solution(_ queue1:[Int], _ queue2:[Int]) -> Int { var result = 0 var sumQ1 = 0 var sumQ2 = 0 var dequeue = queue1 + queue2 var dequeuelen = deque..
🙋♂️ 유닛 테스트가 무엇인가? - 유닛 테스트는 다른 말로 단위 테스트라고도 한다. - 하나의 함수, 메서드 기준으로 독립적으로 진행되는 가장 작은 단위의 테스트입니다. 🙋♂️ 유닛 테스트, 어떤 점이 좋은건가요? - 해당 메서드에 대해서 독립적(모듈)으로 테스트하기 때문에 빠른 리팩토링 반영과 테스트를 진행할 수 있다. - 코드의 확장이나 리팩토링 시에도 안정성을 확보한 채로 신속한 대응이 가능하다. 읽기 어렵고 불안정한 유닛 테스트는 코드 기반을 파괴할 수도...(= 무조건 좋은 것은 아니다.) 🙋♂️ 테스트는 어떻게 이루어지나요? - 예상값과 결과값의 비교로 이루어진다 func testArraySorting() { let input = [1, 7, 6, 3, 10] let expectatio..