✍🏻 26일 공부 이야기.
지금까지 배웠던 알고리즘 문제 풀이!!
이론 강의 시간에 풀었던 문제들이랑 비슷해서
이번에도 역시 백준에서 몇 문제 끄적여봤다 👀👀
다음은 'A상사'의 2021년 월별 매출을 나타내는 표이다. 재귀 알고리즘을 이용해서 1월부터 12월까지 전월 대비 매출 증감액을 나타내는 프로그램을 완성해라
sales =[12000,13000,12500,11000,10500,98000,91000,91500,10500,11500,12000,12500]
def salesUpAndDown(ss):
if len(ss) == 1: #sales 리스트의 개수가 1개라면 매출 증감액을 표시하지 않아도 됨(종료조건)
return ss
print(f'sales : {sales}')
currentSales = ss.pop(0) #맨 앞 데이터를 추출해서 sales 리스트에서 빼줌
nextSales = ss[0] #다음달 sales는 또 다시 맨 앞의 데이터가 됨
increase = nextSales - currentSales
if increase > 0:
increase = '+' + str(increase)
print(f'매출 증감액 : {increase}')
return salesUpAndDown(ss) #맨 앞 데이터가 빠진 채로 다시 함수를 실행
if __name__ == '__main__':
salesUpAndDown(sales)
💻 출력
sales : [12000, 13000, 12500, 11000, 10500, 98000, 91000, 91500, 10500, 11500, 12000, 12500]
매출 증감액 : +1000
sales : [13000, 12500, 11000, 10500, 98000, 91000, 91500, 10500, 11500, 12000, 12500]
매출 증감액 : -500
sales : [12500, 11000, 10500, 98000, 91000, 91500, 10500, 11500, 12000, 12500]
매출 증감액 : -1500
sales : [11000, 10500, 98000, 91000, 91500, 10500, 11500, 12000, 12500]
매출 증감액 : -500
sales : [10500, 98000, 91000, 91500, 10500, 11500, 12000, 12500]
매출 증감액 : +87500
sales : [98000, 91000, 91500, 10500, 11500, 12000, 12500]
매출 증감액 : -7000
sales : [91000, 91500, 10500, 11500, 12000, 12500]
매출 증감액 : +500
sales : [91500, 10500, 11500, 12000, 12500]
매출 증감액 : -81000
sales : [10500, 11500, 12000, 12500]
매출 증감액 : +1000
sales : [11500, 12000, 12500]
매출 증감액 : +500
sales : [12000, 12500]
매출 증감액 : +500
💡 버블정렬 이론 정리
23968번
오름차순으로 버블 정렬을 하는데, K번째 교환되는 수를 출력하는 문제이다.
🤯 코드는 맞게 돌아가는데... 자꾸 시간 초과가 뜬다아..ㅠㅠ
💡 삽입정렬 이론 정리
🤯 흐아.... 그냥 돌릴땐 값이 잘 나오는데.. 뭐가 틀린건지 모르겠다...;;
👀 내 풀이 바로가기
나중에 성공하면 업데이트 해두기..!!
💡 선택정렬 이론 정리