일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 수학
- npm start
- 배낭 문제
- dfs
- 너비 우선 탐색
- 나는 바보야...
- 구현
- error:0308010C:digital envelope routines::unsupported
- 깊이 우선 탐색
- bfs
- Docker 원리
- 냅색 알고리즘
- Python
- lazy evaluation
- 문자열
- 최장공통부분문자열
- 그래프탐색
- 클래스
- 다이나믹 프로그래밍
- 일단 시도
- 그래프 이론
- 동적 계획법
- LCS 알고리즘
- Container vs VM
- db replication
- 그래프 탐색
- 파이썬
- 최장공통부분수열
- 정처기 필기
- 모듈러 연산 분배법칙
- Today
- Total
목록분류 전체보기 (48)
Save my data
개요 :수주 프로젝트 코딩 중 Selenium 3.141.0 버전에서 Chromedriver와 구버전 Selenium간의 호환성 문제로 의심되는 ValueError가 발생하였음이를 해결하기 위한 방법을 찾기 위해 코드를 상세히 분석함.우선 사용 환경은 다음과 같다.python : 3.8Selenium : 3.141.0에러 내용은 다음과 같다.Timeout value connect was , but it must be an int, float or None.이것에 대해 가장 쉬운 해결 방법은 Selenium4를 사용하는 것이다.그러나 의뢰주 측에서 3.141.0 버전에서 실행되는 프로그램을 원했음.어쩔 수 없이 에러 로그를 하나씩 타고 올라가며 분석을 시작했다.Traceback (most recent ca..
알고리즘 문제를 풀다가 map을 쓸 일이 생겼다.상황은 이러하다. 1. list1 에 있는 내부 요소들을 list2 로 옮겨야 된다.2. 방법이야 여러 가지가 있겠지만, map을 써서 옮길 수 없을까 생각했다.3. append 함수가 있으니, map을 활용해서 해볼 수 있겠다 생각함.4. 여러 가지 버전의 코드들을 테스트 해봤다.# 1list1 = [1, 2, 3]list2 = []list2 = [*map(list2.append, list1)]print(list2) # [None, None, None]# 2list1 = [1, 2, 3]list2 = []map(list2.append, list1)print(list2) # []# 3list1 = [1, 2, 3]list2 = [][map(list2.app..
https://school.programmers.co.kr/learn/courses/30/lessons/250136 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dfs로 풀었다. 다른 사람들의 풀이를 보니 대부분 bfs를 사용하였다. 기본 발상은 이러하다. 1. dfs 등의 탐색 알고리즘을 활용해서 각 석유 덩어리들의 크기를 먼저 구한다. 2. 해당 석유 덩어리가 걸치고 있는 수직 라인의 좌표를 기록한다. 3. 해당 좌표에서 시추할 수 있는 석유의 총량을 합한다. import sys sys.setrecursionlimit(1000000) vertical..
https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 문제만 대충 보면 어떻게든 구현할 수는 있는데 시간제한이 있고 해서 특정한 성능이 나오는 알고리즘을 적용해야 하는데, 알고리즘 분류 탭에도 설명되어 있듯 세그먼트 트리를 활용하라고 되어있다. 사실 이 문제는 예전에 알고리즘 특강을 들을 때 유튜브나 인강에서 대충 다루고 넘어갔던 기억이 있다. 위낙 DP, 그래프 위주로 출제가 되니까 그쪽으..
https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 예전에 풀었던 문제인데 그 때는 단순하게 풀었다. 두 행렬이라고 정해줬으니까 두 번에 나눠서 배열을 만들고, 각각의 원소를 돌면서 각 위치마다 더한 값을 출력하는 식으로 풀었음. import sys n, m = map(int, sys.stdin.readline().split()) a = [] b = [] for _ in range(n): a.append([*map(int, sys.s..
영상 참고 : https://www.youtube.com/watch?v=EV3FZ3cWBp8 메인(마스터) 브랜치 하나만 관리하는 방식. 그리고 필요할 때 마다 feature 등의 브랜치를 만들고 작업한 다음 머지하여 배포. Github Flow와 유사한 방식임. 장점 : 소스코드를 관리하기 용이함. 단점 : 테스트의 양이 많아지고 꼼꼼하게 해야 함.
영상 참고 : https://www.youtube.com/watch?v=EV3FZ3cWBp8 예전에 팀 프로젝트 할 때 시험삼아 도입해봤던 방식. 당시에는 중요성을 잘 모르기도 했고 때문에 이런 비중이 크다고 생각하지 않아서 물 흐르듯이 넘어가버렸던 기억이 았다. 스탭업을 위해서는 반드시 알아야 할 지식이라고 본다. GitFlow 방식. 보통 아래 다섯 가지의 브런치로 구성된다. main(master) 말 그대로 프로젝트의 메인 브랜치. release에서 최종 검수가 끝나면 배포를 위해 main에 머지시킨다. 최종 검수가 끝난 부분을 develop에도 반영해야 한다. develop 개발용 브랜치. 근데 여기서 바로 개발하는건 아니다. 개발자간에 여러 개발중인 기능들이 있을 때, 그 각각의 개발자들이 만든..