[프로그래머스 / Python] 분수의 덧셈
·
Algorithm/프로그래머스
문제첫 번째 분수의 분자와 분모를 뜻하는 numer1, denom1, 두 번째 분수의 분자와 분모를 뜻하는 numer2, denom2가 매개변수로 주어집니다. 두 분수를 더한 값을 기약 분수로 나타냈을 때 분자와 분모를 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요.포인트분수 덧셈: 두 분수를 더할 때는 각 분수의 분자에 다른 분수의 분모를 곱하고, 그 결과를 더하여 새로운 분자를 구합니다. 분모는 두 분모의 곱으로 계산됩니다.기약분수로의 간소화: 최대공약수(GCD)를 사용하여 분자와 분모를 나눔으로써 분수를 기약분수 형태로 간소화합니다.lcm 함수: 최소공배수(LCM)를 계산하는 함수는 파이썬 3.9부터 math 모듈에 포함되어 있습니다. 파이썬 3.8에서는 이 함수를 사..
[프로그래머스 / PCCP 기출문제 3번 / Python] 충돌위험 찾기
·
Algorithm/프로그래머스
문제어떤 물류 센터는 로봇을 이용한 자동 운송 시스템을 운영합니다. 운송 시스템이 작동하는 규칙은 다음과 같습니다.물류 센터에는 (r, c)와 같이 2차원 좌표로 나타낼 수 있는 n개의 포인트가 존재합니다. 각 포인트는 1~n까지의 서로 다른 번호를 가집니다.로봇마다 정해진 운송 경로가 존재합니다. 운송 경로는 m개의 포인트로 구성되고 로봇은 첫 포인트에서 시작해 할당된 포인트를 순서대로 방문합니다.운송 시스템에 사용되는 로봇은 x대이고, 모든 로봇은 0초에 동시에 출발합니다. 로봇은 1초마다 r 좌표와 c 좌표 중 하나가 1만큼 감소하거나 증가한 좌표로 이동할 수 있습니다.다음 포인트로 이동할 때는 항상 최단 경로로 이동하며 최단 경로가 여러 가지일 경우, r 좌표가 변하는 이동을 c 좌표가 변하는 이..
[프로그래머스 / PCCP 기출문제 2번 / Python] 퍼즐 게임 챌린지
·
Algorithm/프로그래머스
문제당신은 순서대로 n개의 퍼즐을 제한 시간 내에 풀어야 하는 퍼즐 게임을 하고 있습니다. 각 퍼즐은 난이도와 소요 시간이 정해져 있습니다. 당신의 숙련도에 따라 퍼즐을 풀 때 틀리는 횟수가 바뀌게 됩니다. 현재 퍼즐의 난이도를 diff, 현재 퍼즐의 소요 시간을 time_cur, 이전 퍼즐의 소요 시간을 time_prev, 당신의 숙련도를 level이라 하면, 게임은 다음과 같이 진행됩니다.diff ≤ level이면 퍼즐을 틀리지 않고 time_cur만큼의 시간을 사용하여 해결합니다.diff > level이면, 퍼즐을 총 diff - level번 틀립니다. 퍼즐을 틀릴 때마다, time_cur만큼의 시간을 사용하며, 추가로 time_prev만큼의 시간을 사용해 이전 퍼즐을 다시 풀고 와야 합니다. 이전..
[프로그래머스 / PCCP 기출문제 9번 / Python] 지폐 접기
·
Algorithm/프로그래머스
문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/340199문제민수는 다양한 지폐를 수집하는 취미를 가지고 있습니다. 지폐마다 크기가 달라 지갑에 넣으려면 여러 번 접어서 넣어야 합니다. 예를 들어 지갑의 크기가 30 * 15이고 지폐의 크기가 26 * 17이라면 한번 반으로 접어 13 * 17크기로 만든 뒤 90도 돌려서 지갑에 넣을 수 있습니다. 지폐를 접을 때는 다음과 같은 규칙을 지킵니다.지폐를 접을 때는 항상 길이가 긴 쪽을 반으로 접습니다.접기 전 길이가 홀수였다면 접은 후 소수점 이하는 버립니다.접힌 지폐를 그대로 또는 90도 돌려서 지갑에 넣을 수 있다면 그만 접습니다.지갑의 가로, 세로 크기를 담은 정수 리스트 wallet과..
[프로그래머스 / PCCP 기출문제 1번 / Python] 동영상 재생기
·
Algorithm/프로그래머스
문제 설명동영상 플레이어의 위치 제어 시스템을 구현하는 문제입니다.재생기는 'prev'와 'next' 두 가지 명령어를 지원하며, 오프닝 자동 건너뛰기 기능이 있습니다.prev 명령어는 현재 위치에서 10초 뒤로 이동합니다. 단, 영상의 시작점인 0초보다 앞으로는 이동할 수 없습니다. next 명령어는 현재 위치에서 10초 앞으로 이동하며, 영상의 총 길이를 초과하여 이동할 수 없습니다.재생 위치가 오프닝 구간에 들어가면(op_start ≤ 현재 위치 ≤ op_end) 자동으로 오프닝 끝 지점(op_end)으로 건너뜁니다.기본 이동 명령어prev: 현재 위치에서 10초 전으로 이동 (단, 0초 미만으로는 이동 불가)next: 현재 위치에서 10초 후로 이동 (단, 동영상 길이를 초과하여 이동 불가)자동 ..
[KAKAO BLIND RECRUITMENT / 2021 / Python] 합승 택시 요금
·
Algorithm/프로그래머스
문제 출처https://school.programmers.co.kr/learn/courses/30/lessons/72413문제 설명밤늦게 귀가할 때 안전을 위해 항상 택시를 이용하던 무지는 최근 야근이 잦아져 택시를 더 많이 이용하게 되어 택시비를 아낄 수 있는 방법을 고민하고 있습니다. "무지"는 자신이 택시를 이용할 때 동료인 어피치 역시 자신과 비슷한 방향으로 가는 택시를 종종 이용하는 것을 알게 되었습니다. "무지"는 "어피치"와 귀가 방향이 비슷하여 택시 합승을 적절히 이용하면 택시요금을 얼마나 아낄 수 있을 지 계산해 보고 "어피치"에게 합승을 제안해 보려고 합니다.위 예시 그림은 택시가 이동 가능한 반경에 있는 6개 지점 사이의 이동 가능한 택시노선과 예상요금을 보여주고 있습니다.그림에서 A..
[KAKAO BLIND RECRUITMENT / 2023 / Python] 이모티콘 할인행사
·
Algorithm/프로그래머스
문제 출처문제 보러가기문제카카오톡에서는 이모티콘을 무제한으로 사용할 수 있는 이모티콘 플러스 서비스 가입자 수를 늘리려고 합니다.이를 위해 카카오톡에서는 이모티콘 할인 행사를 하는데, 목표는 다음과 같습니다.이모티콘 플러스 서비스 가입자를 최대한 늘리는 것.이모티콘 판매액을 최대한 늘리는 것.1번 목표가 우선이며, 2번 목표가 그 다음입니다.이모티콘 할인 행사는 다음과 같은 방식으로 진행됩니다.n명의 카카오톡 사용자들에게 이모티콘 m개를 할인하여 판매합니다.이모티콘마다 할인율은 다를 수 있으며, 할인율은 10%, 20%, 30%, 40% 중 하나로 설정됩니다.카카오톡 사용자들은 다음과 같은 기준을 따라 이모티콘을 사거나, 이모티콘 플러스 서비스에 가입합니다.각 사용자들은 자신의 기준에 따라 일정 비율 이..