알고리즘
-
[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] 백준 16938 캠프 준비알고리즘/문제풀이 2021. 9. 11. 21:35
1. 문제 링크 https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net 2. 문제 요약 캠프에서 사용한 문제 방법의 수를 출력한다. 3. 아이디어 정리 조합을 이용해서 2~n개까지 문제를 뽑아서 조건에 맞으면 결과에 +1을 해준다. 4. 문제 풀이 4-1. 내 풀이 import sys from itertools import combinations # 문제 수, 난이도 합 l크거나 같고, r보다 작거나 같다, 난이도 차 x보다 크거나 같다 n, l, r, x = map(int, sys.stdin.readline().split()) arr = list(map(int,..
-
[Python] 백준 2579 계단 오르기알고리즘/문제풀이 2021. 9. 11. 21:33
1. 문제 링크 https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 2. 문제 요약 계단에 점수가 있을 때 게임에서 얻을 수 있는 점수의 최댓값을 구한다. 단 3개 이상의 연속된 계단은 안됨! 3. 아이디어 정리 dp[i][j] 정의: 현재까지 j개의 계단을 연속해서 밟고 i번째 계단까지 올라섰을 때 최댓값. i 계단은 밟음 점화식 (연속으로 최대 2개만 가능하니 아래 두 점화식이 나온다.) dp[i][1] = max(dp[i - 2][1], dp[i - 2]..
-
[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 기본 자료 구조&문법 + 라이브러리알고리즘/알고리즘 공부 정리 2021. 9. 10. 13:18
이번 시간에는 알고리즘에서 자주 사용되는 python 문법에 대해서 정리하겠습니다. 1. 자료형 1-1. 수 자료형 아래는 나누기 관련 사용 방법입니다. # 나누기 a = 7 b = 3 print(a / b) # 나누기 2.3333333333333335 print(a % b) # 나머지 1 print(a // b) # 몫 2 print(divmod(5, 3)) # (1, 2) - 나머지와 몫 1-2. 문자열 자료형 아래 예시를 공부하고 카카오 신규 아이디 추천을 풀어봅시다. 파이썬을 이용하여 쉽게 문자열을 다룰 수 있습니다. # 1. * 으로 문자열 곱하기 a = "STRING" print(a * 3) # STRINGSTRINGSTRING # 2. 문자열 슬라이싱 a = "ABCDEF" print(a[2..
-
[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] 백준 1038 감소하는 수알고리즘/문제풀이 2021. 9. 4. 15:29
1. 문제 링크 https://www.acmicpc.net/problem/1038 1038번: 감소하는 수 음이 아닌 정수 X의 자릿수가 가장 큰 자릿수부터 작은 자릿수까지 감소한다면, 그 수를 감소하는 수라고 한다. 예를 들어, 321과 950은 감소하는 수지만, 322와 958은 아니다. N번째 감소하는 수를 www.acmicpc.net 2. 문제 요약 n번째 감소하는 수를 찾는 문제이다. 9876543210 이후로 감소하는 수는 없기 때문에 그 이후 수는 -1을 출력한다. 3. 아이디어 정리 0~9로 1개~10개까지 모든 조합을 구한다. 오름차순을 하여 정렬을 진행한다. 해당 수를 출력하거나 인덱스 에러가 나면 해당 순서 감소하는 수가 없는 것이라 -1 출력한다. 4. 문제 풀이 4-1. 내 풀이 ..