Day9 - 4) 구슬을 나누는 경우의 수 설명 제한사항 입출력 예시 예시 설명 Hint 문제 풀이 1. math에서 팩토리얼을 할 수 있는 fac()를 이용해 힌트에서 나온 식을 사용해서 풀었습니다. from math import factorial as fac def solution(balls, share): answer=0 n = fac(balls) m = fac(share) bottom = fac(balls-share)*m return n/bottom 문제를 풀면서 느낀점 알고리즘/프로그래머스 레벨 0 - python 2023.01.21
Day9 - 3) 가위 바위 보 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 가위 바위 보를 이기는 경우를 문자열에 추가 했습니다. def solution(rsp): answer = '' for i in range(len(rsp)): if rsp[i] == '2': answer += '0' elif rsp[i] == '0': answer += '5' elif rsp[i] == '5': answer += '2' return answer 문제를 풀면서 느낀점 알고리즘/프로그래머스 레벨 0 - python 2023.01.21
Day9 - 2) 모스부호(1) 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 먼저 편지로 받은 모스부호들을 띄어쓰기 기준으로 나눴습니다. 모스부호 딕셔너리에 있는 값들과 비교해서 대응되는 알파벳이 있으면 answer 문자열에 추가 했습니다. def solution(letter): morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-':'u','...-':'v','.--':'w','-..-':'x'.. 알고리즘/프로그래머스 레벨 0 - python 2023.01.21
Day9 - 1) 개미군단 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 장군개미, 병정개미, 일개미 숫자를 구하기 위해서 5,3,1로 나누기와 나머지 연산을 했습니다. 나누기 - 몫만 구했기 때문에 뺄셈할때 총합에서 앞의 개미들의 숫자를 곱해서 빼기를 했습니다. => 2번은 1번을 개선한 형태입니다. def solution(hp): answer = 0 h1 =hp//5 h2=(hp-h1*5)//3 h3=(hp-h1*5-h2*3)//1 answer = h1+h2+h3 return answer 2. 장군개미, 병정개미, 일개미의 숫자로 나누기를 해서 개미들의 숫자를 구하고, 나머지 연산을 통해서 사냥감의 남은 체력을 구할 수 있도록 개선 했습니다. def solution(hp): answer = 0 h1 =hp//5 hp =.. 알고리즘/프로그래머스 레벨 0 - python 2023.01.21
Day8 - 4) 순서쌍의 개수 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. n을 나눴을때 나머지가 0인 경우 => 순서쌍의 수만큼 만들어져서 사용했습니다. def solution(n): answer = 0 for i in range(1, n+1): if n % i == 0: answer+=1 return answer 2. 순서쌍을 구하는 방법(업데이트 예정입니다) 문제를 풀면서 느낀점 알고리즘/프로그래머스 레벨 0 - python 2023.01.20
Day8 - 3) 진료순서 정하기 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 응급도와 응급도의 크기의 순서에 따라 정렬한 리스트를 비교해서 두 수가 같을때 정렬된 리스트의 위치 인덱스에 더하기 1 => 정렬된 배열의 인덱스+1을 했습니다. def solution(emergency): answer = [] emergency2 = emergency.copy() emergency.sort(reverse=True) for i in range(len(emergency)): for j in range(len(emergency)): if emergency2[i] == emergency[j]: j+=1 answer.append(j) return answer 문제를 풀면서 느낀점 알고리즘/프로그래머스 레벨 0 - python 2023.01.20
Day8 - 2) 외계행성의 나이 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 리스트의 인덱스를 이용해 풀었습니다. 숫자를 문자열로 바꿔서 앞자리 뒷자리를 나눠서 비교했습니다. def solution(age): answer = '' age_arr = ['a','b','c','d','e','f','g','h','i','j'] for i in str(age): print(age) answer += age_arr[int(i)] return answer 문제를 풀면서 느낀점 알고리즘/프로그래머스 레벨 0 - python 2023.01.20
Day8 - 1) 배열 자르기 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 인덱스가 num1과 num2 사이에 있는 경우에만 answer 리스트에 추가했습니다. def solution(numbers, num1, num2): answer = [] for i in range(len(numbers)): if i >= num1 and i 알고리즘/프로그래머스 레벨 0 - python 2023.01.20
Day7 - 4) 짝수의 합 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. for문 안에서 짝수인 경우만 answer에 누적해서 합을 구했습니다. def solution(n): answer = 0 for i in range(n+1): if i%2 ==0: answer += i return answer 문제를 풀면서 느낀점 알고리즘/프로그래머스 레벨 0 - python 2023.01.19
Day7 - 3) 양꼬치 설명 제한사항 입출력 예시 예시 설명 문제 풀이 1. 양꼬치 10인분당 음료수 1개는 전체 양꼬치수 나누기 10으로 음료수의 서비스 개수를 알 수 있습니다. 여기서 주의 할점은 총 얼마를 지불해야하는가? 라는 것 입니다. => 양꼬치 개수의 가격 + (시킨 음료수 - 서비스로 받은 음료수)의 가격 def solution(n, k): answer = 0 drink =0 if n >= 10: drink = n // 10 k = k- drink answer = n*12000 + k*2000 else: answer = n*12000 + k*2000 # 고기 총액 + 음료수 총액 return answer 문제를 풀면서 느낀점 알고리즘/프로그래머스 레벨 0 - python 2023.01.19