본문 바로가기
반응형

Algorithm/프로그래머스15

[프로그래머스] 기능개발 (level 2) Python 문제 풀이 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 문제 문제 해결법 1. 먼저 각 작업이 최소 몇 일을 작업해야 배포가 가능한지 계산하여 리스트에 넣어준다. 2. 리스트를 순환하며 먼저 배포해야하는 작업보다 걸리는 일 수가 적은 것들은 카운트를 세어주고, 일 수가 더 큰 작업이 나올 경우에 결과 리스트에 값을 넣어준다. 3. 끝까지 돌았을 경우에 마지막 count를 한번 더 넣어준다. 내 .. 2021. 6. 25.
[프로그래머스] 위장 (level 2) Python 문제 풀이 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr 문제 풀이 1. 같은 이름을 가진 의상은 존재하지 않으므로 딕셔너리에 key는 의상의 종류, value는 count를 넣어준다. 2. value를 돌면서 (count+1)을 전부 곱해서 모든 가능한 경우를 구한다. 3. 아무것도 안 입은 경우를 제외시켜야 하므로 1을 뺀 값을 return 한다. 왜 count별로 +1을 해서 곱하는지 이해를 못하는 분들이 많던데 의상 종류별로 의상의 갯수에서 아무것도 안 입는 경우가 있을 수 있으니 +1을 해주는 것이다. ex) (모자 갯수 + 안 입음(1)) * (안경 갯수 + 안 입음(1)) - .. 2021. 6. 19.
[프로그래머스] 전화번호 목록(level 2) Python 문제 풀이 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42577 문제 해결 방법 1. 정렬 2. i번째와 j번째(i+1~전화번호부의 마지막 원소)와 비교 3. j번째 원소가 i번째 원소로 시작하면 return False 4. 2~3번 과정 반복 5. 시작하는 것이 없어 모든 루프를 돌았으면 return True 다음과 같이 제출 했더니 효율성 테스트에서 시간 초과가 발생했다..;; 이중 for문을 이용해서 모든 경우를 보는 것은 비효율적이라 판단하는 것 같다. 다른 사람의 풀이를 보니 zip함수를 사용해서 인접한 애들만 조사하는 방식을 사용했다. 처음엔 이게 되나? 싶지만.. 잘 생각해보면 된다. sort함수로 정렬을 했기 때문에 된다. (나도 정렬하긴.. 2021. 6. 16.
[프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 -2 나의풀이 : 2021.06.15 - [Algorithm/프로그래머스] - [프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 [프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마. wookidocs.tistory.com 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습.. 2021. 6. 15.
[프로그래머스] 완주하지 못한 선수(level 1) Python 문제 풀이 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 문제 풀이 1. participant와 completion 이라는 두 개의 리스트를 정렬하고 리스트를 비교하면 차이를 찾을 수 있다 2. 두 개의 리스트를 순차적으로 비교를 한다 3. 서로 차이가 발생하면 해당 participant의 원소를 리턴한다. 4. 서로 차이가 발생하지 않으면 completion의 가장 마지막 원소를 리.. 2021. 6. 15.
[프로그래머스] 고득점 Kit 문제 풀이 (Python 버전) 프로그래머스에서 제공하는 코딩테스트 고득점 Kit을 Java로 풀었었는데, 이번에는 파이썬 버전으로 풀어보고자 한다. 코딩테스트는 항상 Java로 응시했는데 최근 Python을 더 많이 사용하고 있고 코딩테스트에는 Python이 유리하다고(?) 생각하기 때문에 2년전 풀었던 기억을 되새기며.. 다시 쭉 풀어보고자 한다. 문제는 각 알고리즘/자료구조 별로 나누어져 있는데 코딩테스트에 가장 많이 나오는 유형들로 구성되어있다. 각 유형에 들어가게 되면 난이도가 1, 2, 3으로 나누어져 있다. 앞으로 각 문제별 풀이를 진행하며 아래 목록에 정리할 예정이다. 코딩테스트 고득점 Kit 풀이 - 해시 - 완주하지 못한 선수 - 풀이법 1 : 완주하지 못한 선수(level 1) Python 문제 풀이 - 풀이법 2 .. 2021. 6. 15.
반응형