본문 바로가기
반응형

Algorithm/프로그래머스15

[프로그래머스] 체육복 파이썬 풀이 - Greedy(탐욕법) 알고리즘 5명이라고 가정하고 0번째 6번째는 1로 채워준다. 무조건 있다고 가정을 하는 것 lost는 1을 빼주고 reserve는 1을 더해준다. lost = [2, 4] reserver = [1, 3, 5] 순서 0 1 2 3 4 5 6 초기화 1 1 1 1 1 1 1 lost 처리 1 1 1-1=0 1 1-1=0 1 1 reserve 처리 1 1+1=2 0 1+1=2 0 1+1=2 1 1부터 5까지 for문, i=1 1 2-1=1 0+1=1 2 0 2 1 1부터 5까지 for문, i=2 1 1 1 2 0 2 1 1부터 5까지 for문, i=3 1 1 1 2-1=1 0+1=1 2 1 1부터 5까지 for문, i=4 1 1 1 1 1 2 1 1부터 5까지 for문, i=5 1 1 1 1 1 2 1 1~5까지 1보.. 2022. 5. 31.
[프로그래머스][2022 카카오 블라인드] K진수에서 소수 개수 구하기 문제 https://programmers.co.kr/learn/courses/30/lessons/92335 코딩테스트 연습 - k진수에서 소수 개수 구하기 문제 설명 양의 정수 n이 주어집니다. 이 숫자를 k진수로 바꿨을 때, 변환된 수 안에 아래 조건에 맞는 소수(Prime number)가 몇 개인지 알아보려 합니다. 0P0처럼 소수 양쪽에 0이 있는 경우 P0처럼 소 programmers.co.kr 풀이1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 def solution(n, k): answer = 0 k_num = n_jinsu(n, k) temp_list = k_num.split('0') for .. 2022. 4. 29.
[프로그래머스] 로또의 최고 순위와 최저 순위 - 파이썬 풀이 문제 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 2021 Dev-Matching: 웹 백엔드 개발자(상반기)에 기출 된 문제이다 코드 1 2 3 4 5 6 7 8 9 10 def solution(lottos, win_nums): answer = [] winner = [6, 6, 5, 4, 3, 2, 1] low = len(list(set(lottos).int.. 2022. 4. 29.
[프로그래머스][2022 카카오 블라인드 테스트] 신고 결과 받기 - 파이썬 풀이 https://programmers.co.kr/learn/courses/30/lessons/92334 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스템은 다음과 같습니다. 각 유저는 한 번에 한 명의 programmers.co.kr 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 def solution(id_list, report, k): id_dict = dict.fromkeys(id_list,0) answer = [] report_dict={} for i in report: n_from = i.split(' ')[0] n_to = i.s.. 2022. 4. 26.
[프로그래머스] 가장 큰 수(level 2) 파이썬 문제 풀이 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42746 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 문제 해결 방법(시간 초과) 1. 먼저 리스트에 정수가 있으므로 문자형으로 바꾸어준다. 2. 모든 가능한 조합을 만든 후에 가장 큰 수를 출력한다. from itertools import permutations def solution(num): permute = list(permutat.. 2021. 8. 27.
[프로그래머스] 모의고사(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.
반응형