본문 바로가기

프로그래머스52

[Python] 프로그래머스 : [1차] 셔틀 버스 https://school.programmers.co.kr/learn/courses/30/lessons/17678 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 구현 문제이다. 조심해서 구현만 할 수 있으면 된다. 시간에 대한 처리를 위해서 "hour : minute"으로 나오는 시간을 분으로 바꿔주는 함수를 만들어 사용한다. 중요한 핵심은 다음과 같다. 마지막 버스에 탄 인원이 m명과 같다면 마지막에 온 사람보다 1분 빨리 오면 되고, 마지막 버스에 탄 인원이 m명과 다르다면 그냥 버스 막차시간에 맞춰서 오면 된다. 내 코드의 경우는 처음.. 2022. 10. 3.
[Python] 프로그래머스 : 다단계 칫솔 판매 https://school.programmers.co.kr/learn/courses/30/lessons/77486 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 💡 문제 풀이 기본적인 구현 문제이다. 설명은 엄청나게 되어있지만 결국 트리구조를 고려해서 구현하면 된다. seller의 길이가 10만이라서 일직선의 트리구조가 되는 최악의 경우를 따지면 시간이 부족할 수도 있다. 근데 문제에서 최대로 벌 수 있는 이윤은 10,000원이고 이윤의 10%를 상납해야 하는 구조라서 최대로 5번의 반복을 넘어가지 않는다. 따라서 그냥 구현해주면 된다. ✔️ 느낀 점 처.. 2022. 9. 29.
[Python] 프로그래머스 : 두 개 뽑아서 더하기 https://school.programmers.co.kr/learn/courses/30/lessons/68644?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 정렬 문제이다. 다른 인덱스끼리 더해서 결과에 추가해주면 된다. set을 써서 중복을 없애고 마지막에 정렬을 해줘야 한다. 느낀 점 2중 반복문으로도 풀어도 되지만 combination을 사용해서 2개씩 뽑아서 더해도 괜찮다. 계속 틀리길래 뭐지 했는데 정렬이었다.. 테스트 케이스 중에 음수도 있는 것 같다. 코드 def solution(numbers): .. 2022. 7. 6.
[Python] 프로그래머스 : 모의고사 https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 완전 탐색 문제이다. 수포자들의 패턴을 cases에, 각 수포자의 정답 수를 담는 score에 담아주었다. 모든 경우를 확인해야 하므로 반복문으로 쭉 돌려주었다. 만약 수포자 패턴을 벗어나려고할 때 idx를 0으로 돌려주어 다시 처음부터 확인하도록 하였다. 가장 많이 맞은 사람 값만 추가하면되고 오름차순 출력은 수포자가 순서대로 있어서 그대로 추가해주면 된다! 느낀 점 idx를 0으로 .. 2022. 7. 5.
[Python] 프로그래머스 : 예산 https://school.programmers.co.kr/learn/courses/30/lessons/12982?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 그리디 알고리즘 문제이다. 정렬 여부가 안 적혀있으므로 정렬을 해주고, 남은 예산이 확인하는 부서의 예산 이상으로 남아있다면 회수를 한번 세어준다. 느낀 점 기본 문제이다! 코드 def solution(d, budget): answer = 0 d.sort() for n in d: if budget >= n: budget -= n answer += 1 ret.. 2022. 7. 5.
[Python] 프로그래머스 : [1차] 다트 게임 https://school.programmers.co.kr/learn/courses/30/lessons/17682 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 문자열에 대한 문제이다. 빈 문자열에 연산할 내용을 추가해줄 것이다. 숫자일 경우, '+'와 함께 숫자를 추가하는데 연속으로 숫자가 오면 '+'을 빼고 숫자만 추가해준다. T, D, S는 제곱을 넣어준다. '*'와 '#'은 무조건 숫자 2칸 뒤에 위치하며 있을 수도 없을 수도 있기 때문에 숫자를 확인할 때 확인해서 추가해준다. '#'은 단순하게 해당 점수가 '-' 되므로 '-1*'를 곱.. 2022. 7. 5.