SW Academy

[CNU SW Academy] 8일차(22.12.12.)

narlo 2022. 12. 12. 17:52

프로그래머스 - 프론트엔드 미니 데브코스

입국심사문제

입국심사를 기다리는 사람 수 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)

같은 깊이에 해당하는 정점부터 탐색하는 알고리즘

A-B-C-D-E-F-G

Queue를 이용해 구현

시작 지점에서 가까운 정점부터 탐색

정점의 수 V, 간선의 수 E

시간복잡도는 O(V+E)

 

깊이 우선 탐색(DFS)

최대한 깊은 정점부터 탐색하는 알고리즘

A-B-F-C-G-D-E

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