개발자의 기록장 블로그

만나서 반가워 !
이거 좋아해?

2021-10-05 피보나치수열 반영환
·
알고리즘/문제 풀이
1234561123583번째 항부터 이전 두개의 항 참조1번, 2번째 항은 참조 당하기만 함. base case는 index로 구분되어지나 value로 구분되어지나? n 번째 피보나치를 재귀의 방식으로 풀어나가 보면, def fib(n): if n  n=3 => fib(2) + fib(1) (둘다 참조당하는 값, base case) n=4 => fib(3) + fib(2) (fib(3)은 재귀로 돌아가고, fib(2)는 base case)--- 따라서, n 에 값에 따라서 base case와 recursive case가 나누어지기에 value로 구분되어지는 경우다. base case -> Valuerecursive case -> Function(itself)
Big-O Notation
·
알고리즘/개념
점근 표기법에서 n은 무엇인가?점근 표기법에서 n은 특별한 의미를 가지는 것은 아니다. 우리가 함수에 매개변수를 임의로 설정하듯이 이 n 또한 임의로 설정된 인풋의 크기이다. 인풋 리스트의 크기를 x라고 부르기로 하면 O(x), O(x^2).. 이런식으로 하겠지? “트리”나 “그래프” 같은 조금 특수한 자료 구조가 인풋으로 들어올 수도 있다.트리와 그래프가 특수한 이유는 리스트처럼 “선형적”이지 않기 때문인데, 예를 들어서 그래프는 꼭짓점(vertex)과 변(edge)으로 이루어져 있다. 꼭짓점의 개수를 V라고 하고 변의 개수를 E라고 하면,두 꼭짓점 간 최단 경로를 찾는 BFS 알고리즘의 시간 복잡도는 O(V + E)이다. O(1)은 코드 한 줄의 단위?아니다!인풋 크기와 상관 없이 실행되는 코드만 O..
2021-09-30 Bronze "8958" 반영환
·
알고리즘/문제 풀이
이번 문제를 풀면서 항상 느꼈던 나의 문제점을 느꼈다... 분기문을 나눌 때 너무 세세하게 나누려고 하는 것..!굳이 나누지 않아도 if문 하나로 해결되는 것을 elif elif.......분기를 나눌 때 명확한 기준을 세우지 않는다는 것이 문제..!앞으로 생각을 좀 더 하고 나누어야할듯싶다!
2021-09-27 Bronze "10809" 반영환 - print end 옵션
·
알고리즘/문제 풀이
정말... 문제 조건 안읽는건 수능때나 지금이나 똑같다.. 단어의 "첫 번째" 글자의 인덱스를 출력하는건데.. 계속 뻘짓했다..  ㅠㅠ 공백을 기준으로 출력하는 방법 -> 파이썬 카테고리 확인!  2021-09-27
2021-09-20 Bronze "10951" 반영환
·
알고리즘/문제 풀이
처음에 이 문제를 보았을 때 멘붕이 왔다. 분명 전 문제에선 실행 조건과 맺음 조건이 분명했는데... 여기선 아무것도 없다..!그렇다는 것은? 임의로 프로그램의 종료가 일어날 수 있다는 뜻이고, 그 뜻은 error를 catch해야 한다는 것..이라 해석했다!따라서 try & except문을 써서 무수히 많은 시간동안, a + b를 출력할건데..! 근데! 에러가 발생하면! 무한 루프를 탈출해서안전히 프로그램을 종료해라..! 라고 해석해서 문제를 풀었다!
2021-09-20 Bronze "11720" 반영환
·
알고리즘/문제 풀이
1. 숫자의 개수를 입력받는다.2. 문자열을 입력받는다.3. 문자열의 길이가 N으로 고정되어 있으므로, 길이는 반드시 N이다.4. 따라서 range(N) 을 이용해 반복문을 돌려 문자열 인덱싱을 통해 합을 구한다!
2021-09-19 Bronze "11654" 반영환
·
알고리즘/문제 풀이
파이썬에서는 아스키 코드를 지원하는 아주 간단한 문법이 존재한다는 것을 알았다.char type이 따로 없는 파이썬이라 그런가?잘은 모르겠다만 편리한 것 같다!
2021-09-19 Bronze "2475" 반영환
·
알고리즘/문제 풀이
컷!