728x90
반응형

2024/03 37

[Baekjoon 9663 / python / 골드4] N-Queen

n = int(input()) pos = [0] * n # 퀸 위치 담을 리스트 flag_heng = [False] * n # 행 배제 flag_a = [False] * ((n-1) * 2 + 1) # 우상향 대각 배제 flag_b = [False] * ((n-1) * 2 + 1) # 좌상향 대각 배제 count = 0 # 경우의 수 def set(i): global count for j in range(n): if not flag_heng[j] and not flag_a[i + j] and not flag_b[(n-1) + i - j]: # 행 , 대각, 대각 안전할 때 pos[i] = j # i번째 열의 j번째 행에 퀸을 둔다 if i == n - 1: # 마지막 열까지 n개의 퀸을 뒀을 때, 즉 경..

[크래프톤 정글 5기] week01 알고리즘 주차 두번째 날, Big-O, 시간/공간 복잡도

리처드 파인만 공부법- 무언가를 간단하게 설명할 수 없다면, 그것을 제대로 이해하고 있는 것이 아니다- 어린이도 이해할 수 있을 만큼 쉽고 평이한 언어로 설명할 수 있도록 공부해야 함-> 어려운 단어, 문장을 그대로 외우는 게 아닌, 원리를 이해하여 간단히 설명할 수 있도록 연습 알고리즘 평가는 수행 시간/메모리 사용량에 기준을 둔다.시간 복잡도(Time Complexity)- 수행 시간에 해당함- 특정 크기의 입력을 기준으로, “필요한 연산의 횟수” 공간 복잡도(Space Complexity)- 메모리 사용량- 프로그램 실행/완료에 “필요한 메모리 공간” 시간 복잡도와 공간 복잡도는 “반비례”하는 경향이 있다.ex) 실행시간을 줄이면 메모리를 많이 쓰고, 메모리를 적게 쓰면 실행시간이 늘어나고...실제..

[Baekjoon 1914 / python / 실버1] 하노이 탑

n = int(input())def hanoi(no, start, end, mid): # no번 원반을 start에서 end로 옮긴다    if no == 1: # 원반이 1개라면 위에 방해되는 원반이 없으니 즉시 옮긴다        print(start, end)        return        else:        hanoi(no-1, start, mid, end) # 2개 이상이면 위에 방해되는 원반을 치운다         print(start, end) # 방해되는거 치웠으니 원래 옮기려던거 목표자리에 옮긴다        hanoi(no-1, mid, end, start) # 치워둔것도 목표자리에 옮긴다if n 20:    print(2 ** n - 1) # 최소횟수 출력    hanoi..

Algorithm/Recursion 2024.03.23

[Baekjoon 10872 / python / 브론즈3] 팩토리얼

def factorial(n): if n > 0: return n * (factorial(n - 1)) else: return 1 n = int(input()) print(factorial(n)) 팩토리얼은 n! 으로 표기하며, 1부터 n까지의 수를 곱하면 된다. 팩토리얼은 재귀함수로 표현할 수 있으며, 재귀함수는 자기 자신과 똑같은 함수를 호출하는 함수이다. 물론 팩토리얼의 구현은 재귀함수로 하지 않는 게 더 효율적이지만, 팩토리얼이 재귀함수를 호출할 때 사용되는 대표적인 예이기 때문에 재귀함수로 구현하였다.

Algorithm/Recursion 2024.03.22

[크래프톤 정글 5기] 첫 프로젝트를 마무리하며

4일 전 3월18일 월요일에 아침 7시20분 버스를 타고 수원으로 왔다. 기숙사 키와 정글 로고가 그려진 후드집업과 반팔을 받고, 기숙사에 짐을 풀고, 필요한 물품을 사고. 점심 먹고 14시부터 입소식이 시작되었다. 입소식이 마무리된 16시경부터 생각을 정리할 새도 없이 갑작스럽게 첫 미니프로젝트가 시작되었다. 팀원은 나까지 총 3명. 주제는 "어떤 식으로든 돌아가는 웹 서비스 만들기". 주어진 시간은 3박 4일. 하지만 3박 4일이라고 해도 첫날은 16시부터 시작했고 두번째날은 중간중간 행사가 있어 흐름이 끊겼고, 세번째날만 온전히 집중할 수 있는 날이었다. 게다가 마지막 4일째는 13시30분이 발표였다. 즉.. 말이 3박4일이지 사실상 2박3일이나 다름없었다. 개발이라곤 스프링 CRUD게시판 클론코딩..

[크래프톤 정글 5기] 첫 미니 프로젝트[타잔]을 진행하며 배운 것 feat.JWT, jinja2

입소 직후부터 시작해 4일간 밤새워 진행한 프로젝트 Tarzan(타잔)을 드디어 완성하고 발표했다. 정말 힘들었지만 이 짧은 시간에 엄청나게 성장했다. 기능 구현과 배포까지 완료해서, 더 수정할 것도 없다. 3일만에 프로젝트 하나를 완성하였다. 간단한 트러블 슈팅들 1. git 오류 git을 처음 다뤄봤는데, 이와 같은 오류를 만날 수 있었다. 이럴 땐 pull을 먼저 진행한 후 push하면 된다. 2. git 파일 이름 변경 git mv 명령을 사용하지 않고 파일 이름을 변경하면 git에서 해당 파일을 delete된 것으로 인식하고 이름이 바뀐 파일을 새로 추가된 파일로 인식할 수 있다. 이렇게 되면 delete된걸로 인식한 파일은 커밋 추적도 불가할 수 있다. 따라서 git에서 파일 이름을 변경하려면..

728x90
반응형