일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프 이론
- 백트래킹
- 그래프 탐색
- 문자열
- 백준알고리즘
- 완전탐색
- 데이터베이스
- Python
- 백준 알고리즘
- SW Expert Academy
- 그리디 알고리즘
- 자바스크립트
- 브루트포스
- javascript
- 오라클
- DFS
- BFS
- 구현
- SWEA
- 브루트포스 알고리즘
- 다익스트라
- 너비우선탐색
- oracle
- 깊이우선탐색
- 다이나믹 프로그래밍
- DP
- 너비 우선 탐색
- 파이썬
- 스택
- 프로그래머스
- Today
- Total
목록2024/08/06 (3)
민규의 흔적
2024년 8월 6일문제 링크 : 백준 1325번 - 효율적인 해킹 문제 해커 김지민은 잘 알려진 어느 회사를 해킹하려고 한다. 이 회사는 N개의 컴퓨터로 이루어져 있다. 김지민은 귀찮기 때문에, 한 번의 해킹으로 여러 개의 컴퓨터를 해킹 할 수 있는 컴퓨터를 해킹하려고 한다.이 회사의 컴퓨터는 신뢰하는 관계와, 신뢰하지 않는 관계로 이루어져 있는데, A가 B를 신뢰하는 경우에는 B를 해킹하면, A도 해킹할 수 있다는 소리다.이 회사의 컴퓨터의 신뢰하는 관계가 주어졌을 때, 한 번에 가장 많은 컴퓨터를 해킹할 수 있는 컴퓨터의 번호를 출력하는 프로그램을 작성하시오.입력첫째 줄에, N과 M이 들어온다. N은 10,000보다 작거나 같은 자연수, M은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 ..
2024년 8월 6일문제 링크 : 프로그래머스 - 귤 고르기문제 접근 그리디하게 접근해 간단하게 풀 수 있는 문제라고 판단했다. 각 귤마다 이산 값을 가지며, 상자 하나에 k개의 귤을 담고자 할 때 귤의 크기 종류가 최소가 되도록 하고 싶으므로각 크기 별 귤의 개수를 딕셔너리에 저장해 각 value 값을 리스트 형태로 뽑아와 내림차순 정렬하여 종류가 많은 귤부터 상자에 넣으면 된다고 결론냈다. k = 6, tangerine = [1, 3, 2, 5, 4, 5, 2, 3] 인 입력 예시를 들어보자. 각 크기별 개수를 딕셔너리 형태로 담아내면 다음과 같다. dict = {1 : 1, 2 : 2, 3 : 2, 4 : 1, 5 : 2} 각 value 값을 리스트 형태로 뽑아내면 다음과 같다. [1, 2, 2..
2024년 8월 6일문제 링크 : 프로그래머스 - 네트워크문제 접근 문제 자체는 엄청 간단하다. 서로 이어져있는 여러 대의 컴퓨터가 존재할 때, 각 컴퓨터끼리 이루는 네트워크의 총 개수를 구하면 되는 문제이다. 모든 컴퓨터를 하나씩 시작점으로 지정해보며 만약 아직까지 어느 네트워크에도 소속되지 않은 컴퓨터라면, 해당 컴퓨터를 시작점으로 BFS 로직을 수행해 같은 네트워크에 존재하는 모든 컴퓨터를 알아내기를 반복하면 된다. BFS 로직을 수행한 횟수가 곧 총 네트워크의 개수가 된다. 전체 코드 from collections import dequedef solution(n, computers): answer = 0 visited = [False] * n for start_v in range(..