일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 2018 KAKAO BLIND RECRUITMENT
- 2019 KAKAO BLIND RECRUITMENT
- 스택
- 투 포인터
- 구현
- 브루트포스
- 트라이
- 백트래킹
- 파이썬
- 투포인터
- 플로이드 와샬
- 다익스트라
- 시뮬레이션
- GIT
- BFS
- 우선순위큐
- 프로그래머스
- 조합
- 비트마스킹
- 최소 신장 트리
- SWEA
- 2020 KAKAO BLIND RECRUITMENT
- 크루스칼
- 로봇 청소기
- 2020 카카오 인턴십
- 이분탐색
- 백준
- Spring
- 플로이드와샬
- 2021 KAKAO BLIND RECRUITMENT
- Today
- Total
목sssssss록파이썬 (109)
개발조아
문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42627 코딩테스트 연습 - 디스크 컨트롤러 하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 가장 일반적인 방법은 요청이 들어온 순서대로 처리하는 것입니다. 예를 programmers.co.kr OS의 스케쥴링 정책 중 SJF에 대한 알고리즘문제이다 SJF는 현재 작업큐에서 가장 실행시간이 짧은 작업을 우선적으로 처리하는 것이다. 현재 시각을 기준으로 대기열에서 시작 시각이 현재 시각보다 작거나 같은 작업을 작업 큐에 넣고 작업 큐에서는 실행시간이 짧은 것을 처리하는 것이다. 문제의 jobs를 대기열로 그대로 사용하기 위해 요청시각을..
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWHPkqBqAEsDFAUn SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제를 보자마자 아 이거 조합으로 해서 set으로 중복제거한 다음 길이 출력하면 되겠다 생각하고 조합으로 풀었더니 시간초과 나서 틀렸었다. 그냥 100C50만 생각해봐도 엄청 큰 숫자인데 귀찮다고 생각안하고 풀어버렸다. 풀이는 앞에서 나온 합을 기록하여 현재 숫자와 더해 가는 방식으로 했다. 1번 테스트케이스를 예로 들어 설명하겠다. 방문 배열에 해당 숫자가 나온다면 표시한다. 0의 ..
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV7I5fgqEogDFAXB SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 모든 점에서 BFS를 돌리는데 이때 방문체크는 하지 않는다. BFS를 돌리면서 각점의 숫자들을 이어붙여서 새로운 숫자를 만들고 7자리가 됐을 때 저장한다. 이때 같은 숫자는 체크하면 안되므로 set을 이용하여 중복제거를 했고 마지막에 set의 길이를 출력한다. from collections import deque dx = [-1,1,0,0] dy = [0,0,-1,1] tc = int..
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14vXUqAGMCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 그냥 단순한 BFS 문제이다. from collections import deque dx = [-1,1,0,0] dy = [0,0,-1,1] visited = [[0]*16 for _ in range(16)] visited_num = 0 def solv(t): global board input() board = [] sx=sy=-1 for x in range(16): board.app..
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV15QRX6APsCFAYD SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 시작점에서 출발하여 가중치인 복구 시간을 가장 적게 하면서 도착지로 이동하는 문제이다. 우선순위 큐를 사용하여 BFS로 구현했다. 우선순위 큐는 heapq 패키지로 사용하여 복구시간을 최우선기준으로 잡고 했다. import heapq dx = [-1,1,0,0] dy = [0,0,-1,1] tc = int(input()) visited = [[0]*100 for _ in range(1..
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV14ABYKADACFAYh SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 목적지에서 출발하여 위로 올라가면서 맨 윗줄에 도달했을 때의 y 좌표를 출력하면 된다. 올라가면서 좌우 확인하고 다리가 있다면 그 방향으로 0이 나올때 까지 쭉 확인하고 다시 위로 올라가면 된다. dx = [0, -1, 0] dy = [-1, 0, 1] def solv(t): global board input() board = [list(map(int, input().split()))..
문제 링크 : https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWJHmLraeEwDFAUH& SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 4방향으로 BFS 돌려서 풀었다. 최대 숫자는 10000이므로 2차원 배열로 했을데 141x141이면 다 채울수 있다. 1 2 3 4 5 6 7 8 9 10 .... 이런식으로 번호 넣은 배열 만들면서 각 칸의 번호가 몇행 몇열에 저장되어 있는지도 따로 배열로 저장했다. 이동은 6가지 방향으로 가능하지만 숫자가 작은곳에서 시작한다면 위쪽은 볼 필요가 없어서 4방향만 확인하면 된다. ..
문제 링크 : https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net stack 응용 문제이다. '(', '[' 여는 괄호가 나오면 스택에 넣고 ')',']' 닫는 괄호가 나오면 값을 계산해서 스택에 넣는다. 스택의 탑에 올바른 짝이라면 그에 맞는 숫자 넣고 괄호가 아니라 숫자라면 괄호가 나올때까지 pop해서 더한 후에 괄호에 맞는 숫자를 더하고 다시 스택에 넣는다. 중간에 괄호가 안맞는게 온다면 0을 출력하고 끝낸다. 입력 1번 (()[[]])([..