본문 바로가기
반응형

Algorithm20

[프로그래머스] 모의고사(level 1) 파이썬 문제 풀이 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 완전 탐색에 해당하는 문제이다. 무식해보여도 가끔은 최고의 방법이라는.. 문제 풀이 1. 수포자마다 패턴이 다르므로 패턴을 하드코딩으로 넣어준다. 2. 문제의 갯수마다 반복문을 돌면서 각 수포자가 맞춘 갯수를 세어준다. (문제의 갯수를 입력으로부터 알 수 있음) 3. 세 명의 수포자 중 가장 많이 맞춘 갯수를 찾는다. 4. 가장 많이 맞춘 수포자를 .. 2021. 8. 23.
[프로그래머스] 베스트앨범(level 3) Python 문제 풀이 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42579 코딩테스트 연습 - 베스트앨범 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 programmers.co.kr 문제 문제 풀이 코드 from collections import defaultdict def solution(genres, plays): # 0으로 초기화 play_cnt_by_genre = defaultdict(int) # empty list로 초기화 songs_in_genre = defaultdict(list) for song_id, genre.. 2021. 7. 30.
[프로그래머스] K번째수(level 1) Python 문제 풀이 프로그래머스 고득점 Kit 중 가장 쉬운 문제가 아닐까 싶다. 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 문제 문제는 읽기 매우 쉬웠고, 잘 읽어보면 문제의 제한사항은 크게 중요하지 않은 것 같다. 배열array가 주어졌을 때 i번째~j번째 숫자까지 정렬한 후 k번째에 있는 수를 구하는 문제이다. 배열 array가 주어지고 [i, j, k]를 원소로 가진 2차원 배열 commands에 따라 원하는 숫자들을 뽑아서 결과 리스트에 추가 시켜주면 된다 문제 해결 .. 2021. 7. 17.
[프로그래머스] 프린터 (level 2) Python 문제 풀이 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 문제 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니.. 2021. 6. 26.
[프로그래머스] 기능개발 (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.
DNA Sequence Alignment (Local Alignment) //출처 : https://en.wikipedia.org/wiki/Sequence_alignment Sequence alignment - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Process in bioinformatics that identifies equivalent sites within molecular sequences In bioinformatics, a sequence alignment is a way of arranging the sequences of DNA, RNA, or protei en.wikipedia.org *Global Alignment Local Alignment * D.. 2021. 6. 18.
[프로그래머스] 전화번호 목록(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.
반응형