본문 바로가기

내일배움 캠프/TIL

(64)
2023 03 24 재귀 함수를 이용해서 복리 구하기 이용한 공식 이 공식을 이용해서 주어진 값으로 복리를 계산하는 코드를 재귀함수를 이용해서 짜려고한다 첫시도.. def compound(p,r,n,t): if t == 2: return p*(1+r/n)**(n*t) else: return compound(p,r,n,t-1)*(1+r/n)**(n*t) print(compound(1500000, 0.043, 4, 6)) 결과값 : 3528509.243796015 정답: 1938836.8221341053 무식하게 박아본코드... 당연히 제곱이 무식하게 늘어나기때문에 실패를 했다 두번째 시도 def compound(p,r,t,n): if t == 1: return p*(1+r/n)**n else: return compound(p,r,t-1,n)*(1+r/n)**..
2023 03 23 코딩 테스트 소수 찾기 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return "17" 3 "011" 2 코드 구현 number= [n for n in numbers] perm=[] arr=[] for cnt in range(1,len(number..
2023 03 22 코딩 테스트를 하면서 새로 배운것들... 절대값 abs() 절대값을 구하는 함수인 abs()이다 이것을 사용한 코드를 찾게 된 계기는 두 정수 사이의 합이라는 문제에서 찾았는데 (abs(a-b)+1)*(a+b)//2 코드를 이용해서 답을 풀었다 sum(range(b,a+1)) if a>b else sum(range(a,b+1)) 나의 코드는 range값으로 더하는 방식으로 답을 구하려고 했지만 이 경우에는 a와 b사이의 값이 길어지면 코드의 실행시간이 매우 길어지게 된다는 이슈가있었다 그래서 절대값을 통해서 정답을 구하는것을 보고 알고리즘의 중요성에 대해서 느낄수가 있엇다 join() '구분자'.join(리스트) 리스트가 되어있는 데이터를 구분자 안에 있는 조건을 통해서 하나의 문자열로 합치는 코드입니다. 리스트에 ['a','b','c']가 들..
2023 03 21 자연수 뒤집어 배열로 만들기 def solution(n): strn=str(n) n으로 입력받은 자연수를 str(n)을 이용해서 데이터 타입을 String 형식으로 바꾼다음에 for a in range(len(strn),0,-1): answer.append(strn[a-1]) for 값을 len()을통해 n의 길이에서부터 0으로 향하게 해서 뒤집어서 append가 되게하였습니다 이렇게 하면 string 데이터가 되어서 int값으로 수정하기 위해서 for x in answer: new_answer.append(int(x)) int값으로 바꿔서 답이 출력되게 해서 정답을 제출했습니다.. 그런데!!!!! def solution(n): return list(map(int, reversed(str(n)))) 다른 사람의 코드를 보고 나니 엄..
2023 03 20 모의고사 코드테스트 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주세요...
2023 03 17 미니 프로젝트 끝 오늘은 미니 프로젝트가 끝나고 자기의 코드를 되돌아보고 어떤게 마음에 드는지에 대해 생각해보는 시간을 가졌다 지금 생각해보면 게시판의 인덱스 구현이 처음에는 되게 힘들었었다 지금 만들어진 인덱스값을 구하는 코드는 last_index=col.find().sort('_id',-1).limit(1) if col.count_documents({}) == 0: index=1 else: index=last_index[0]['index']+1 _id값으로 정렬했을때 한개의 데이터만 가지고와서 그 값의 인덱스값을 확인하는 식으로 인덱스를 추가하는 방식이었는데 처음에는 col.count_documents() 를 이용해서 데이터의 갯수를 읽은다음에 하나하나 갯수를 데이터에 넣어서 인덱스를 구현하려고했었다 하지만 삭제를 구..
2023 03 15 python 방명록수정 기능 col.update_one({'index':index,'pw':pw},{'$set':{'comment':comment_data}}) update_one을 이용해서 인덱스와 pw값을 비교해서comment값을 수정하는 코드를 작성했습니다 result = col.find_one({'index':index2,'pw':pw}) if result is None: return jsonify({'msg': '수정 실패!'}) else: return jsonify({'result': 'True'})​ 처음에 수정버튼을 눌렀을때 인덱스와 pw값을 비교해서 올려진 db와 값이 일치하는지 확인한다음에 수정할수있는 창을 나오게했습니다 fetch('/comment3', { method: "POST", body: formData ..
2023 03 14 pyhton,mongo db 를 이용한 방명록 구축 last_index=col.find().sort('_id',-1).limit(1) if col.count_documents({}) == 0: index=1 else: index=last_index[0]['index']+1 doc={ 'index':index, 'id':id_receive, 'pw':pw_receive, 'comment':comment_receive } col.insert_one(doc) 야매로 짜버린 게시판 index... 방명록삭제를 구현하기위해 index값을 어떻게하면 구할수있을지 생각을 많이했었다 sort()를 이용해서 _id를 역순으로 정렬한다음에 1개만 가져와서 그 데이터의 인덱스값보다 1높게 인덱스가 들어가게 했다 result = col.find_one({'index':inde..