Programmers
-
[Python] Programmers 6주차_복서 정렬하기알고리즘/문제풀이 2021. 9. 18. 14:35
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/85002 코딩테스트 연습 - 6주차_복서 정렬하기 복서 선수들의 몸무게 weights와, 복서 선수들의 전적을 나타내는 head2head가 매개변수로 주어집니다. 복서 선수들의 번호를 다음과 같은 순서로 정렬한 후 return 하도록 solution 함수를 완성해주세요 programmers.co.kr 2. 문제 요약 정렬문제 3. 아이디어 정리 복서 승률 계산, 이긴 횟수 세기, 자신의 무게, 자신의 번호를 리스트에 넣어준다. 해당 리스트를 정렬을 진행한다. 4. 문제 풀이 4-1. 내 풀이 def solution(weights, head2head): answer = list() win_rate ..
-
[Python] Programmers 위클리 챌린지 5 모음 사전알고리즘/문제풀이 2021. 9. 11. 21:16
[Python] Programmers 위클리 챌린지 5 모음 사전 1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/84512 코딩테스트 연습 - 5주차_모음사전 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니 programmers.co.kr 2. 문제 요약 3. 아이디어 정리 백트래킹을 이용하여 원하는 단어가 나올 때까지 알파벳을 순서대로 진행한다. 4. 문제 풀이 4-1. 내 풀이 global count global result count = 0 result = ..
-
[Python] Programmers 키패드 누르기알고리즘/문제풀이 2021. 9. 4. 15:37
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/67256 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 2. 문제 요약 3. 아이디어 정리 번호가 왼쪽 방향인 경우 왼쪽 손 번호가 오른쪽 방향인 경우 오른쪽 손 중간인 경우, 왼손 오른손 계산을 진행한다. 거리 계산하는 방식은 아래와 같다. (왼손 거리 구하는 경우 예시) 손이 가운데 있는..
-
[Python] Programmers 직업군 추천하기알고리즘/문제풀이 2021. 9. 4. 15:31
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/84325 코딩테스트 연습 - 4주차 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부 programmers.co.kr 2. 문제 요약 언어 선호도 * 직업군 언어 점수 총합이 가장 높은 직업군을 리턴한다. 3. 아이디어 정리 모든 직군에 대한 점수를 dict화 해서 저장한다. 모든 직군별 언어 선호도 * 직업군 언어 점수 총합을 구하여 가장 큰 값이 나올 때마다 갱신해 준다. 4. 문제 풀이 4-1. 내 풀이 from collections import defau..
-
[Python] Programmers 자동완성알고리즘/문제풀이 2021. 8. 20. 22:41
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17685 코딩테스트 연습 - [3차] 자동완성 자동완성 포털 다음에서 검색어 자동완성 기능을 넣고 싶은 라이언은 한 번 입력된 문자열을 학습해서 다음 입력 때 활용하고 싶어 졌다. 예를 들어, go 가 한 번 입력되었다면, 다음 사용자는 g programmers.co.kr 2. 문제 요약 검색어 자동완성으로 단어 리스트에서 찾을 때 총 몇 글자까지 입력해야 하는지 리턴한다. 3. 아이디어 정리 트라이 구조 생성 word_num = 0 - 현재 문자를 포함하는 단어 수 children = defaultdict(TrieNode) - 자식 노드 (dict 자료형) 트라이 구조에 단어들 넣기 (아래 그럼..
-
[Python] Programmers 124 나라의 숫자알고리즘/문제풀이 2021. 8. 20. 22:37
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/12899 코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 2. 문제 요약 기존 3진법 012와 다르게 124 나라에서는 124만 사용 가능하다. 10진법을 124 나라 숫자로 변환한다. 3. 아이디어 정리 124 나라 규칙을 찾아서 구현을 아래와 같이하였다. 3으로 나누어 떨어지지 않는 경우 나머지를 리스트에 넣는다. 3으로 나눈 몫을 n에 넣는다. 3으로 나누어 떨어지는 경우 4를 넣는다. 3으로 나눈 몫을 n에 넣는다. 몫은 1 제거해준다. 4. 문제 풀이 4-1. 내 풀이 def solution(n): result = list() while n: if n % 3 != ..
-
[Python] Programmers 로또의 최고 순위와 최저 순위알고리즘/문제풀이 2021. 8. 14. 20:13
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77484 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 2. 문제 요약 구매한 로또에 0이 표기되어 있고, 당첨 번호가 주어진다. 당첨 가능한 최고 순위와 최저 순위를 리턴한다. 3. 아이디어 정리 내 로또 번호를 한 개씩 for문을 돌린다. 0이 아닌 경우 win_nums(당첨번호)에 들어가는지 확인한다. 최저 순위 관련 변수에는 0의 개수 만큼 당첨 ..
-
[Python] Programmers 다단계 칫솔 판매카테고리 없음 2021. 7. 31. 18:32
1. 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/77486 코딩테스트 연습 - 다단계 칫솔 판매 민호는 다단계 조직을 이용하여 칫솔을 판매하고 있습니다. 판매원이 칫솔을 판매하면 그 이익이 피라미드 조직을 타고 조금씩 분배되는 형태의 판매망입니다. 어느정도 판매가 이루어진 후, programmers.co.kr 2. 문제 요약 부모 노드에게 10% 수익을 배분하여 판매원들의 이익금을 구하는 문제 3. 아이디어 정리 판매자 별 부모에게 칫솔 수익을 나눠준다. 부모가 있는 경우 부모에게 수익 배분 & 자신의 수익에서 배분한 금액만큼 빼기 내 부모가 부모의 부모에게 수익 배분하기 위해 재귀 호출 부모가 없는 경우고 센터한테만 수익 배분하고 끝 4. 문제..