일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 조합
- 백트래킹
- 플로이드와샬
- 2021 KAKAO BLIND RECRUITMENT
- 프로그래머스
- 2019 KAKAO BLIND RECRUITMENT
- Spring
- 2018 KAKAO BLIND RECRUITMENT
- 2020 KAKAO BLIND RECRUITMENT
- 스택
- 비트마스킹
- 브루트포스
- 다익스트라
- 최소 신장 트리
- 플로이드 와샬
- 2020 카카오 인턴십
- 로봇 청소기
- 트라이
- 투포인터
- 우선순위큐
- SWEA
- 구현
- 시뮬레이션
- 크루스칼
- 이분탐색
- 투 포인터
- BFS
- 백준
- 파이썬
- GIT
- Today
- Total
목sssssss록알고리즘/프로그래머스 (28)
개발조아
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/43105?language=python3 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr 간단한 DP 문제이다. 맨 꼭대기에서 양 옆 대각선으로 더해 내려갈때 최대값을 구하는 문제이다. 점화식이랄것도 없다. 현재 점에서 양 옆 위 대각선의 값 중 큰 값을 현재 값에다 더해서 내려가면 된다. 주의할 점이라면 위에서 아래로 내려가면서 위의 대각선을 확인하므로 1부터 시작하고 양끝 점은 대각이 하나만 있으므로 처리해주면 된다. def solution(triangle): for x in ..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 고민고민하다가 접근법을 모르겠어서 검색해본 문제이다. 접근방법은 플로이드와샬로 하면 됐었다. a가 b를 이겼다면 b는 항상 a 아래이고, b가 c를 이겼다면 c도 항상 b 아래이다 결국 c는 항상 a아래 이므로 a->b, b->c이면 a->c 인 것이므로 플로이드와샬로 접근이 가능하다. a와 b 관계에서 a가 c를 이기고 c가 b를 이기는 관계가 있으면 a가 b를 이긴것으로 체크하고 (b,a), (c,a), (b,c)는 모두 진것으로 체크하면 된다. 마지..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있 programmers.co.kr 간단한 BFS 문제이다. 한지점에서 출발하여 도달할 수 있는 모든 지점은 같은 네트워크이다. 이때 네트워크의 개수를 구하는 것이다. 방문한 점을 방문 표시해주고 그 점에서 BFS를 시작한다. 이때 BFS를 몇번 돌렸는지 구하면 된다. from collections import deque def solution(n, computers): ans..
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr OS의 스케쥴링 정책 중 SJF에 대한 알고리즘문제이다 SJF는 현재 작업큐에서 가장 실행시간이 짧은 작업을 우선적으로 처리하는 것이다. 현재 시각을 기준으로 대기열에서 시작 시각이 현재 시각보다 작거나 같은 작업을 작업 큐에 넣고 작업 큐에서는 실행시간이 짧은 것을 처리하는 것이다. 문제의 jobs를 대기열로 그대로 사용하기 위해 요청시각을..