프로그래머스 - 프론트엔드 미니 데브코스
입국심사문제
입국심사를 기다리는 사람 수 n, 각 심사관이 한 명을 심사하는데 걸리는 시간이 담긴 배열 times가 매개변수로 주어진다.

def solution(n, times):
left = min(times)
right = max(times) * n
answer = 0
while left <= right:
mid = (left + right) // 2
people = 0
for time in times:
people += mid // time
if people >= n:
break
if people >= n:
answer = mid
right = mid -1
else:
left = mid + 1
return answer
이분탐색을 이용하는 문제이다.
최소 시간은 n이 1일 때 min(times)이고,
최대 시간은 max(times) * n이다.
따라서 이분 탐색에서 left를 min(times), right를 max(times) * n으로 두고 탐색을 시작한다.
반복문을 이용하여 left가 right보다 작거나 같은 동안 반복을 진행한다.
mid는 중간값이므로 (left + right) // 2 값을 저장한다.
people 변수는 진행된 사람의 수를 의미하는 변수이다.
times 배열에서 반복문을 이용해
mid 시간동안 입국심사를 진행할 수 있는 사람의 수를 구한다.
예제에서는 min이 7, max가 60,
times가 [7, 10]이므로 mid는 33,
33 // 7 = 4
33 // 10 = 3
따라서 4 + 3 = 7명의 입국심사를 진행할 수 있다.
n보다 people 값이 크기 때문에, right를 mid - 1로 줄여 다시 탐색을 진행한다.
BFS, DFS
너비 우선 탐색(BFS)
같은 깊이에 해당하는 정점부터 탐색하는 알고리즘

Queue를 이용해 구현
시작 지점에서 가까운 정점부터 탐색
정점의 수 V, 간선의 수 E
시간복잡도는 O(V+E)
깊이 우선 탐색(DFS)
최대한 깊은 정점부터 탐색하는 알고리즘

Stack을 이용해 구현
시작 정점에서 깊은 것 부터 탐색
시간복잡도는 O(V+E)
Git 실습 - 유찬희 TA
버그가 어디서 일어나는지 알아야 하고, 고치려면 시간이 오래 걸린다.
버그가 발생했을 때 되돌아 가기 위해서는 이전 코드의 기록이 필요하다.
(배포하기 전, 기존의 정상 작동했던 때로 돌릴 수 있어야 한다.)
Git
버전 관리 시스템(VCS)
코드와 그 수정내역을 기록하고 관리하도록 돕는 버전 관리 프로그램
git은 3가지 영역으로 구성
1. working directory - 파일의 변화 감지
2. staging area - commit하기 위해 대기하고 있는 영역, add한 파일이 staging area에 올라가게 된다.
3. local repogitory
remote repogitory(Github)

이번 주 시험이랑 과제가 너무 많아서 거의 못했다...
코테도 어려웠다...
코테를 푸는데 너무 많은 시간을 잡아먹었다. 결국은 풀지 못했지만...
'SW Academy' 카테고리의 다른 글
[CNU SW Academy] 11일차(22.12.15) (1) | 2022.12.15 |
---|---|
[CNU SW Academy] 9일차(22.12.13.) (0) | 2022.12.13 |
[CNU SW Academy] 7일차(22.12.09.) (0) | 2022.12.09 |
[CNU SW Academy] 6일차(22.12.08.) (0) | 2022.12.08 |
[CNU SW Academy] 5일차(22.12.07.) (0) | 2022.12.07 |