프로그래밍 25

(백준) - 재귀함수가 뭔가요? (Python3) (해설없음)

재귀에 대해서 알 듯 말 듯 알 듯 말 듯 말듯하다.. 알고리즘 풀 때마다 느끼는거지만 나는 ㄹㅇ 빡대가리다 num+=1 을 func(num+1) 로 변환한다는 생각을 못하다니 그럼 남들보다 더 노력해야하는데 어유 ㅅㅂ n = int(input()) num = 0 question = '어느 한 컴퓨터공학과 학생이 유명한 교수님을 찾아가 물었다.' question2 = '"재귀함수가 뭔가요?"' itermessage = '"잘 들어보게. 옛날옛날 한 산 꼭대기에 이세상 모든 지식을 통달한 선인이 있었어.' itermessage2 = '마을 사람들은 모두 그 선인에게 수많은 질문을 했고, 모두 지혜롭게 대답해 주었지.' itermessage3 = '그의 답은 대부분 옳았다고 하네. 그런데 어느 날, 그 선인..

django - 게시판 수정하기 구현하다가 그냥 정책변경으로 해결

※ 정보 제공이 아닌 기록용 게시물입니다! 게시판 수정을 권한을 부여하는 과정에서 며칠을 애먹었다. 버튼 클릭 시 수정페이지로 이동해야하는데, 비회원인 경우, 게시자가 다른 경우, 게시자가 동일한 경우 이렇게 세 가지 조건에 맞게 작업을 해야했다. 처음에 Response 클래스를 사용해서 context 에 값을 담아 프론트에서 분기를 했다. fetch로 GET 요청해서 백에서 받은 값으로 프론트에서 분기를 했는데 SyntaxError: Unexpected token < in JSON at position 0 이런 에러가 발생했다 부분에서 < 인 것으로 보여 템플릿이 전달될 때 뭔가 문제가 있구나..했다. 며칠 헤매다가 결국 버튼을 없애부럿다 크흠흠 보안적으로 이게 더 안전한 것도 있고!! 다른 커뮤니티 ..

git - 내가 필요해서 써놓은 커밋 방법

1. 깃허브 홈페이지에서 퍼블릭/프라이빗 저장소를 만든다. 2.해당 저장소 링크 ex) https://블라블라.git 해당 git init git remote add origin(저장소 약칭) 저장소링크 git pull origin(저장소약칭) main(브랜치명) # 이렇게 먼저 동기화를 해준다음. git add . # 추가할 거 추가하고 git commit -m "커밋내용" # 내용 쓰고 git status, git log # 잘 들어갔는 지 확인하고 git push origin main 해주면 된다. git add 했던거 취소하는거는 git reset 파일명.

프로그래밍/git 2022.06.09

django - model, DateTimeField 옵션

게시판 최초 작성일, 수정일을 datetime 패키지로 일일이 했는데, 데이터타입 모델을 다시 확인해보니 auto_now_add, auto_now 라는 옵션이 있다. auto_now_add 는 최초 데이터 인서트 시 업데이트 되고 auto_now 는 데이터 갱신 시 업데이트 되는 옵션이다 처음에는 수정일 부분에 auto_now를 넣으면 되겠구나 했는데, 게시글을 클릭만 해도 수정일이 변경되는 문제가 있었다. 같은 테이블에 조회수 필드 값을 추가하는 코드가 있어서 데이터가 갱신되어 게시물을 보기만해도 수정일이 변경되는 것이었다. write_date = models.DateTimeField(auto_now_add = True) # 작성일 modified_date = models.DateTimeField(au..

django no change database db 생성 안되는 원인

기본적으로 웹프레임워크 하나는 잘 다룰 줄 알아야 할 것 같아서 장고 다시 공부중.. python3 manage.py startapp '앱이름' 생성한 폴더에서 makemigrations 을 해도 migrations 폴더에 아무것도 생성되지 않고, 지정한 db(sqlite3..) 에 테이블 생성이 되지 않으며 반복적으로 no change database 가 뜨는 원인은 setting.py INSTALLED_APPS 란에 '앱이름' 을 추가해줘야한당 ^^,,

(백준) 더하기 사이클(Python3) (해설없음)

더 어려운 문제를 풀다가 자괴감이 들어 다시 차근차근 기초를 다지는 중인데.. 나중에 보니 mod 10으로 하면 되는 쉬운 문제인데.. 빙빙 돌아와뿠네 문법 처음 떼고 알고리즘 풀 때 보다 더 머리가 안돌아가는 것 같다 두정엽이 쪼그라들고있는 거 같다.. n = int(input()) nn = n count=1 def solution(n,count): if n < 10: n = '0' + str(n) else: n = str(n) # '26' ten_num = n[-1] # '6' one_value = int(n[0]) + int(n[1]) one_num = str(one_value)[-1] result = ten_num + one_num result = int(result) if nn != result..

(SW Expert Academy) - [파이썬 S/W 문제해결 기본] - 전기버스 (미완성) (해설없음)

금방 풀릴 거라고 생각했는데 크흠 7 / 10 맞은 코드다 결국 다른분들 코드를 확인해보니 접근방식이 달랐다 깔끔하게 술술 풀리는 코드.. #나중에 풀기 line_cnt = int(input()) for i in range(line_cnt): mv, dt, cn = map(int, input().split()) charger_index = list(map(int, input().split())) load = [0] * (dt+1) charge_cnt = 0 # 도달 불가능 판단 조건 flag = True for idx in range(len(charger_index)-2): if mv < (charger_index[idx+1] - charger_index[idx]): flag = False if flag..

(백준) 슬라임 합치기(Python3) (해설없음)

일만 할 줄 알고 기술만 알면 된다고 생각했는데..,, 해보고 나니.. 알고리즘의 중요성을 깨달았다. 프로그래머스에서 한 문제를 풀고 1년 동안 손도 안댔었다니.. 이제 다시 알고리즘을 시작한다. 늘 똥을 찍어먹어봐야 아는 고집쟁이는 이렇게 뒤늦은 후회를..한...다 흑 slime_cnt = int(input()) slime = list(map(int, input().split())) slime.sort() slime_point = 0 new_slime = 0 while 1: if len(slime)

데이터 과학은 anaconda

Anaconda python 3.8 전에 어디서 주워들었었는지 홈페이지에서 직접 패키지를 내려받고 설치를 하면 PATH 설정 등등을 개별적으로 다 설정해줘야 한다고 해서 웬만하면 brew로 설치를 했었는데, Python은 패키지를 내려받아서 설치해도 알아서 다 된 것 같았다. apple silicon Mac 버전의 python 3.9는 아직 pandas 등의 데이터 과학 관련 모듈이 호환되지 않아서인지 설치되지 않았다. 그래서 Intel python 3.9를 사용했다. 설치를 하고 나서 Anaconda에 대해서 다시 알게 됐다.. 그전에는 그냥 파이썬의 pip 같은 패키지 매니저 중 하나인 줄 알았더니만.. 아는 만큼 보인다 python 공식 홈페이지에서 python 3.8 받고 anaconda 공식 홈..