일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 단위테스트
- 테스트코드
- subnet
- parameter group
- mock함수
- axios-mock-adaptor
- 의존관계역전원칙
- nestjs
- TDD
- 리스코프치환원칙
- VPC
- TypeScript
- 도커
- jest.fn
- jest
- docker
- mock객체
- 라우팅테이블
- 인터넷게이트웨이
- AWS
- JavaScript
- 미라클모닝
- 서브넷
- IPv4
- axios mock
- docker commands
- javascript unit test
- test code
- Unit Test
- forbetterme
- Today
- Total
목록Programming/Algorithm (13)
My Dream Being Visualized
[결과] [코드] [과정] 1. 어제 풀었던 소수 방식으로 풀어도 괜찮을까? 주어지는 수가 10,000 이하의 자연수인데, 1초 안에 1부터 10,000까지 정수가 나온다면 다 돌고도 시간을 맞출 수 있을까? 한번 해보자! >> 2~N까지 모든 소수를 모은 prime_list 안에 넣어둔 뒤 >> real_list안에 N과 M사이의 소수들을 모아서 >> sum과 min을 넣는다! >> 어서 선배 개발자들의 코드를 보고 싶다.... [공부] 1. list.remove(element) >> 사용하진 않았지만 원소를 지우는 함수! >> 그나저나 반복문을 돌 때 원소 삭제해서 적용하는 방법이 기억이 안 나네.. [문제] www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수..
[결과] [코드] [과정] 1. 1 제외 2. 2, 3, 5, 7로 나누었을 때 나머지가 0이 아니면 소수가 아님 >> 틀렸음 3. 내가 틀렸을 리가 없다고 생각하여 검색ㅎㅎㅎㅎㅎㅎㅎㅎㅎ >> 생각해보니 11과 같은 소수인 애들로 나뉘는 숫자가 있음 ex) 121.... 멍청한.. 4. 2부터 각 케이스-1까지 각각 다 나누어보다가, 하나라도 나누어지면 break 하고 다음 케이스! [공부] [문제] www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net [선배 개발자들의 코드 분석] 다 비슷하게 해 놨더라. 알고리즘 종류에 보니 '..
[결과] [코드] [과정] 1. 처음과 마지막은 무조건 1이기에 -2를 하고 시작 2. 처음+1과 마지막-1은 1 아니면 2이다. 3. y-x-처음(1)-마지막(1)을 했지만 규칙이 안 보임.... 4. 와 처음으로 모르는 문제가 나왔음. 어떻게 푸는지 잘 모르겠음. 수학이라는데.. 예제를 적어봤는데도 규칙이 안 보임. 5. 결국 1, 1, 2, 2, 3, 3, 이렇게 증가하는 규칙을 찾았지만 2의 31승이라는 범위를 고려하지 않은 코드를 짜버려서 시간이 오래 걸려 계속해서 시간 초과에 걸림.... 6. 결국 검색함 >> 개념만 대충 보고 따로 구현했음. 7. input data 범위를 꼭 확인하자. >> 절대 순회해서 풀 수 없는 문제임을 직감하고 다른 방식으로 풀지 않았을까 싶음. 귀찮다고 '~이면 ..
[결과] [코드] [과정] 1. 너무 쉬운 문제라 고민할 것도 없었음. [공부] [문제] www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net [선배 개발자들의 코드 분석] [느낀 점] 너무 간단한 문제..! 왜 중간에 이런 수준의 문제가 나왔는지 모르겠당.
[결과] [코드] [과정] 1. 규칙이 있을거라 생각하여 무작정 구현하기로 결심 >> 예외가 많았다고 생각. 다 잡을 수 없을거라 생각하여 내가 좋아하는 무작정.. 구현 2. q가 0 미만일 때 -1을 출력 3. 플래그 뒀음.. [공부] 1. 문제의 알고리즘 분류 => 다이나믹 프로그래밍, 그리디 알고리즘 다이나믹 프로그래밍이란? 큰 문제를 작은 문제로 나누어푸는 문제를 일컫는 말 분할정복과의 차이점은 큰 문제를 작은 문제로 나누어 푸는 방법이지만 작은 문제에서 반복이 일어나지 않음. 다이나믹 프로그래밍(=동적 프로그래밍)은 작은 부분 문제들이 반복되는 것! 메모이제이션(컴퓨터 프로그램이 동일한 계산을 반복해야 할 때, 이전에 계산한 값을 메모리에 저장함으로써 동일한 계산의 반복 수행을 제거하여 프로그램..
[결과] [코드] [과정] 1. 문제 이해하는데 시간을 조금 썼음.. 2. 재귀 용법으로 팩토리얼을 각각 구해야 하는 건가? 1초 넘지 않을까..? 넘을 거 같은데.. 3. global() 써서 변수 만들면 변수 메모리는 많이 잡아먹겠지만(?) 계산은 더 빠르려나..? 4. 재귀용법이라고 거의 확신하고 처음으로 검색을 해봤더니 리스트에 넣어서 리스트를 for문으로 도는 해결방법을 봤음 >> 이런 제길........ [공부] [문제] www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net [선배 개발자들의 ..
[결과] [코드] [과정] 1. H에 따라 N이 몇호에 머무를지 알기 때문에 H를 N으로 나누었을 때 몫과 나머지를 활용하여 구한다. W는 굳이 필요하지 않아보이는데, 예외처리를 미리 해놓으라는 뜻으로 써야하는건가? >> 결국 안 썼음.. 문제에서 활용하라고 했으면?! [공부] 1. divmod(dividend(=The number you want to divide), divisor(=The number you want to divide with)) (ref:www.w3schools.com/python/ref_func_divmod.asp) Python divmod() Function Python divmod() Function ❮ Built-in Functions Example Display the qu..
[결과] [코드] [과정] 1. 수학적인 접근없이 우선은 '풀 수 있는' 방식으로 풀었음 2. 당연히 시간초과가 걸렸음 3. 어떤 수학적인 계산을 통해 해야될까 고민 4. 나무 막대 길이에서 낮에 올라갈 수 있는 최소값을 뺀 값에서, 하루동안 올라갈 수 있는 최대값으로 나눈 뒤 올림한다. 5. 그 다음 낮에 올라갈 수 있는 count와 위 값을 더한다. [공부] 1. map(function, iterables) >> int를 앞에다가, iterables를 뒤에! (ref: www.w3schools.com/python/ref_func_map.asp) Python map() Function Python map() Function ❮ Built-in Functions Example Calculate the l..
[결과] [코드] [과정] 1. 문제를 제대로 읽지 않았음. '지그재그' 라는 단어가 명시되어 있었으나 문제를 내 마음대로 이해하고 다른 문제를 풀었음 2. 시간초과된 코드는, 모든 분수를 일일이 순회했음 3. 맞은 코드는, 지그재그(=분모 분자가 swapped)를 나타내는 is_even변수, 해당 단계단 분수 갯수를 나타내는 phase변수, 각 단계의 모든 합을 나타내는 _all변수(일일이 순회하지 않기 위한 설정), number의 범위에 해당하는 phase를 찾은 후 phase 안에서 1씩 더하며 해당 number와 동일할 경우 is_even변수 값의 상태에 따라 분수 출력! [공부] 1. 범위를 지정할 때 '숫자 < 범위 < 숫자' 같은 형태로 적어도 된다. (이전에 판다스에서는 2개로 나눴어야 했..
[결과] [코드] [과정] 1. 규칙을 찾고자 했음. 첫 번째 1 > 두 번째 6 > 세 번째 12 > 네 번째 18 > ... 첫 번째를 제외하고 6씩 늘어난 값보다 작거나 같으면 해당 n번째 방을 지난다고 구현할 수 있음. [공부] [문제] www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌 www.acmicpc.net [선배 개발자들의 코드 분석] 정말 다양한 식이 있었다. 접근하는 방식이 다양해보인다. 시간과 메모리는 비슷하나 코드길이만 다르다. 가독성 차원에서 아무런 설명을 해주지 않았을 ..