본문 바로가기

Python8

[Python] 프로그래머스: 광물 캐기 https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 해결 방법 이 문제의 경우 DFS, BFS로 풀 수도 있지만, 그리디 알고리즘으로 푸는 것이 최선이라고 생각합니다. 먼저 5개가 한 단위가 되기 때문에, 5개씩 끊고 다이아몬드, 철, 돌 곡갱이를 사용했을 때 피로도를 계산해놓으면 돌 곡갱이를 사용했을 때를 기준으로 내림차순 정렬하면 최선의 경우의 수를 찾을 수 있습니다. 이렇게 해결할 수 있는 이유는 돌, 철, 다이아몬드를 비교했을 때 효율이 .. 2023. 3. 28.
[Python] 프로그래머스: 호텔 대실 https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 두 가지로 풀이 가능합니다. 1. Python의 datetime과 같은 시간 관련 모듈을 이용해서 푸는 것 2. 모든 시간을 분으로 환산하여 table을 만든 다음, 시작 시간과 종료 시간을 기록하고 부분합으로 푸는 것 제한 사항에서 명시하는 범위가 작기 때문에 어느 쪽으로도 풀이가 가능합니다. datetime과 같은 시간 관련 모듈을 이용하여 정석적으로 풀고 싶은 경우 첫 번째 풀이.. 2023. 2. 6.
[Python] 프로그래머스: 둘만의 암호 https://school.programmers.co.kr/learn/courses/30/lessons/155652 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 두 문자열 s와 skip, 그리고 자연수 index가 주어질 때, 다음 규칙에 따라 문자열을 만들려 합니다. 암호의 규칙은 다음과 같습니다. 문자열 s의 각 알파벳을 index만큼 뒤의 알파벳으로 바꿔줍니다. index만큼의 뒤의 알파벳이 z를 넘어갈 경우 다시 a로 돌아갑니다. skip에 있는 알파벳은 제외하고 건너뜁니다. 예를 들어 s = "aukks", skip = "wbqd",.. 2023. 2. 2.
[Java & Python] 프로그래머스: 택배상자 https://school.programmers.co.kr/learn/courses/30/lessons/131704?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 택배는 1부터 n까지 순서대로 들어옵니다. 택배 순서와 스케줄이 맞으면 바로 처리하고, 그렇지 않으면 무조건 서브컨베이어에 넣습니다. 그 후 서브컨베이어와 스케줄을 비교하여 맞으면 계속 처리합니다. n번째 택배까지 처리한 다음 처리된 만큼의 택배 숫자를 반환합니다. Stack과 Queue 자료형을 잘 활용하는 것이 중요한 문제였습니다. 단, Python의.. 2022. 12. 29.
[Python & Java] 프로그래머스: 우박수열 정적분 https://school.programmers.co.kr/learn/courses/30/lessons/134239?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 콜라츠 추측이란 로타르 콜라츠(Lothar Collatz)가 1937년에 제기한 추측으로 모든 자연수 n에 대해 다음 작업을 반복하면 항상 1로 만들 수 있다는 추측입니다. 1-1. 입력된 수가 짝수라면 2로 나눕니다. 1-2. 입력된 수가 홀수라면 3을 곱하고 1을 더합니다. 2.결과로 나온 수가 1보다 크다면 1번 작업을 반복합니다. 예를 들어 주어진.. 2022. 12. 17.
[Python] 프로그래머스: 디펜스 게임 프로그래머스: 디펜스 게임 https://school.programmers.co.kr/learn/courses/30/lessons/142085 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 명세 문제 설명 준호는 요즘 디펜스 게임에 푹 빠져 있습니다. 디펜스 게임은 준호가 보유한 병사 n명으로 연속되는 적의 공격을 순서대로 막는 게임입니다. 디펜스 게임은 다음과 같은 규칙으로 진행됩니다. 준호는 처음에 병사 n명을 가지고 있습니다. 매 라운드마다 enemy[i]마리의 적이 등장합니다. 남은 병사 중 enemy[i]명 만큼 소모하여 enemy[i]마리.. 2022. 12. 12.
[Python] 프로그래머스: 양궁대회 양궁대회 https://programmers.co.kr/learn/courses/30/lessons/92342 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 2022 KAKAO BLIND RECRUITMENT 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원회는 한 선수의 연속 우승보다는 다양한 선수들이 양궁대회에서 우승하기를 원합니다. 따라서, 양궁대회 운영위원회는 결승전 규칙을 전.. 2022. 2. 8.
[Python] 프로그래머스: k진수에서 소수 개수 구하기 K진수에서 소수 개수 구하기 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 2022 KAKAO BLIND RECRUITMENT 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소수 오른쪽에만 .. 2022. 2. 8.