본문 바로가기
반응형

코딩테스트6

[프로그래머스] 가장 큰 수(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/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.
반응형