=> 1과 자기자신 이외의 다른 수로 나눌 수 없는 자연수
파이썬 알고리즘 인터뷰
아쉬운점 : 초등학교 수학인 경우의 수 개념을 제대로 알지 이해하지 못함예를들어 모자와 안경을 쓰는 경우의 수를 생각해보자 모자는 2종류 있고 안경은 1종류 있다. 이 상황에서 모자를 쓰는 경우의 수는 3이다.2종류 각각의 경우 + 모자를안쓰는경우안경을 쓰는 경우의 수
문제
https://programmers.co.kr/learn/courses/30/lessons/42840
https://leetcode.com/problems/validate-binary-search-tree/
https://leetcode.com/problems/longest-common-prefix/
https://leetcode.com/problems/reverse-linked-list/
https://programmers.co.kr/learn/courses/30/lessons/12926?language=javascript
문제풀이의 컨셉은 비슷했으나 규칙을 잘못 파악했다.https://programmers.co.kr/learn/courses/30/lessons/42842문제풀이의 컨셉은 비슷했으나 규칙을 잘못 파악했다.전체 가로길이 = 중앙카펫의 가로+2전체 세로길이 = 중앙카
포인터에 대한 개념을 확실하게 이해하지 못했다. 반복문을 사용할 때 주로 하나의 변수를 사용하여 index 를 변화시키곤 하였다. 그리고 대부분 index 가 0 부터 시작하는 것으로 주로 작성을 하여 뒤에서 부터 index 를 변화시키는 반복문 안에 각각의 배열의 i
스킬트리
참고 Dynamic programing = 큰 문제를 작은문제로 나눠서 푸는 알고리즘 엥 이거 divide conquer 아니냐? dynamic programming 은 memoization 이 들어가는 점에서 다르다. ☢️ 조건 1> 겹치는 부분이 있어야
앞에서부 읽으나 뒤에서 부터 읽으나 똑같은 글자 한자로 회문( 回文 ) 이라고 한다. 앞에서 읽으나 뒤에서 읽으나 같다 ? 반으로 뚝 잘라서 데칼코마니가 되어야 함 일차적으로 string 을 개별 char 로 구성된 list 로 변환함 반복문을 돌리는데 list 맨앞에
logs = "dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"문자로만 구성된 로그들이 앞에 와야함 let1 art can 다음 dig1 8 1 5 1 문자로만 구성된 로그끼리는 art
정규식, filter, set, Counter , defaultdict, dictionary,
input list 로 부터 같은 문자로만 구성된 단어들을 묶어서 리턴aet eat tae 모두 aet 를 가지고 있다. 세 단어 모두 만약 오름차순이나 내림차순으로 정렬한다면 같은 단어가 된다. 즉 정렬해서 같은 단어이면 묶는다. 정렬해서 같은 단어이면 list 에
생각해보니 어차피 정렬되어 있어 최소값 계산하는게 무의미함..
함수 호출 1> L2: 1→3→4 L1: 1→2→4 L2.next? = 1→2→3→ 4→4→N L2? = 1→1→2→3→ 4→4→N ( 최종리턴 ) 2> L2: 3→4 L1: 1→2→4 change L2: 1→2→4 L1: 3→4 L2.next? = 2→3→ 4→4→N L2? = 1→2→3→ 4→4→N 3> L2: 2→4 L1...
ex > A = headB = head B = B.next = A.next = head.nextB = B.next = A.next.next = head.next.nextB 에서 변경을 가하면 A.next.next 에도 변경이 반영됨
전체를 한꺼번에 정렬하려면 힘들다.. 그럼 부분부분 나눠서 정렬하고 정렬된 부분들을 합치면 되지 않을까? 어떤 단위로 부분을 나눠야 할 까? ⇒ 가장 정렬하기 쉬운 단위가장 정렬하기 쉬운 단위는 뭘까? ⇒ 요소가 1개 이하인 배열⇒ 1개 이하면 정렬할 필요없이 리턴해버
버블정렬인접한 요소들 끼리 자리를 계속해서 바꿔나가며 정렬자리를 바꿀 때 버블이 올라오는 것 같아서 버블정렬임 O(n^2)
맨 앞으로 넣을 값을 범위에서 계속해서 선택 해서 채워나가는 정렬
과거의 요소들과 현재요소를 비교하면서 현재요소가 있어야 할 곳에 삽입해 나가는 정렬pointer 를 이동하면서 과거의 요소와 현재요소를 비교하면서 자리를 바꾸어 나간다.