Programmers / 하노이의 탑 / python 파이썬
·
Coding Test/Programmers
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/12946 코드def solution(n): result = [] def hanoi(n, start, end, temp): if n == 1: result.append([start, end]) return hanoi(n-1, start, temp, end) result.append([start, end]) hanoi(n-1, temp, end, start) hanoi(n, 1, 3, 2) return result
Programmers / 셔틀버스 / python 파이썬 / 2018 KAKAO BLIND RECRUITMENT
·
Coding Test/Programmers
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/17678 코드from collections import dequedef to_minutes(time): h, m = map(int, time.split(":")) return h * 60 + m def to_timestr(minutes): h = minutes // 60 m = minutes % 60 return f"{h:02d}:{m:02d}" def solution(n, t, m, timetable): timetable = sorted([to_minutes(minute) for minute in timetable]) shuttles = [..
Programmers / 공원 / python 파이썬 / PCCE 기출
·
Coding Test/Programmers
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/340198?language=python3 코드def can_place_mat(park, size): rows, cols = len(park), len(park[0]) for i in range(rows - size + 1): for j in range(cols - size + 1): ok = True for x in range(i, i + size): for y in range(j, j + size): if park[x][y] != "-1": ..
Programmers / 공원 산책 / python 파이썬
·
Coding Test/Programmers
문제: https://school.programmers.co.kr/learn/courses/30/lessons/172928?language=python3 문제 설명지나다니는 길을 'O', 장애물을 'X'로 나타낸 직사각형 격자 모양의 공원에서 로봇 강아지가 산책을 하려합니다. 산책은 로봇 강아지에 미리 입력된 명령에 따라 진행하며, 명령은 다음과 같은 형식으로 주어집니다. ["방향 거리", "방향 거리" … ]예를 들어 "E 5"는 로봇 강아지가 현재 위치에서 동쪽으로 5칸 이동했다는 의미입니다. 로봇 강아지는 명령을 수행하기 전에 다음 두 가지를 먼저 확인합니다. 주어진 방향으로 이동할 때 공원을 벗어나는지 확인합니다.주어진 방향으로 이동 중 장애물을 만나는지 확인합니다.위 두 가지중 어느 하나라도 ..
Programmers / 가장 큰 정사각형 찾기 / python 파이썬
·
Coding Test/Programmers
문제: https://school.programmers.co.kr/learn/courses/30/lessons/12905?language=python3 문제 설명1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 코드def solution(board): answer = 0 max_size = 0 for i in range(len(board)): for j in range(len(board[0])): if board[i][j] == 1 a..
Programmers / 쿼드압축 후 개수 세기 / python 파이썬
·
Coding Test/Programmers
문제: https://school.programmers.co.kr/learn/courses/30/lessons/68936 문제 설명0과 1로 이루어진 2n x 2n 크기의 2차원 정수 배열 arr이 있습니다. 당신은 이 arr을 쿼드 트리와 같은 방식으로 압축하고자 합니다. 구체적인 방식은 다음과 같습니다. 당신이 압축하고자 하는 특정 영역을 S라고 정의합니다.만약 S 내부에 있는 모든 수가 같은 값이라면, S를 해당 수 하나로 압축시킵니다.그렇지 않다면, S를 정확히 4개의 균일한 정사각형 영역(입출력 예를 참고해주시기 바랍니다.)으로 쪼갠 뒤, 각 정사각형 영역에 대해 같은 방식의 압축을 시도합니다.arr이 매개변수로 주어집니다. 위와 같은 방식으로 arr을 압축했을 때, 배열에 최종적으로 남는 0..
Programmers / 디스크 컨트롤러 / python 파이썬
·
Coding Test/Programmers
문제: https://school.programmers.co.kr/learn/courses/30/lessons/42627?language=python3 문제 설명하드디스크는 한 번에 하나의 작업만 수행할 수 있습니다. 디스크 컨트롤러를 구현하는 방법은 여러 가지가 있습니다. 이 문제에서는 우선순위 디스크 컨트롤러라는 가상의 장치를 이용한다고 가정합니다. 우선순위 디스크 컨트롤러는 다음과 같이 동작합니다. 어떤 작업 요청이 들어왔을 때 작업의 번호, 작업의 요청 시각, 작업의 소요 시간을 저장해 두는 대기 큐가 있습니다. 처음에 이 큐는 비어있습니다.디스크 컨트롤러는 하드디스크가 작업을 하고 있지 않고 대기 큐가 비어있지 않다면 가장 우선순위가 높은 작업을 대기 큐에서 꺼내서 하드디스크에 그 작업을 시킵..
Programmers / 지폐 접기 / PCCE 기출문제 9번 / python
·
Coding Test/Programmers
문제: https://school.programmers.co.kr/learn/courses/30/lessons/340199?language=python3 문제 설명 민수는 다양한 지폐를 수집하는 취미를 가지고 있습니다. 지폐마다 크기가 달라 지갑에 넣으려면 여러 번 접어서 넣어야 합니다. 예를 들어 지갑의 크기가 30 * 15이고 지폐의 크기가 26 * 17이라면 한번 반으로 접어 13 * 17 크기로 만든 뒤 90도 돌려서 지갑에 넣을 수 있습니다. 지폐를 접을 때는 다음과 같은 규칙을 지킵니다.지폐를 접을 때는 항상 길이가 긴 쪽을 반으로 접습니다.접기 전 길이가 홀수였다면 접은 후 소수점 이하는 버립니다.접힌 지폐를 그대로 또는 90도 돌려서 지갑에 넣을 수 있다면 그만 접습니다.지갑의 가로, 세..