Algorithm37 [LeetCode] Find Numbers with Even Number of Digits 목차 문제 int 배열이 주어졌을 때, 각 원소의 자릿수가 짝수개인 원소의 개수를 구하시오. 예시 Input: nums = [12,345,2,6,7896] Output: 2 Input: nums = [555,901,482,1771] Output: 1 제약조건 1 2024. 4. 7. 빅오(big-O) (시간복잡도) 목차 빅오 빅오(O, big-O)란 입력값이 무한대로 향할때 함수의 상한을 설명하는 수학적 표기 방법입니다. 이를 이용하여 알고리즘의 실행 시간(시간복잡도)이나 메모리(공간복잡도)가 입력 크기에 따라 어떻게 변화하는지를 대략적으로 표현할 수 있습니다. 알고리즘을 평가할 때는 최악의 경우, 평균적인 경우, 최선의 경우를 고려할 수 있는데, 빅오 표기법은 주로 최악의 경우(worst-case) 시나리오에 초점을 맞춥니다. 빅오 표기법을 사용할 때의 주의 사항 빅오 표기법은 최악의 경우를 나타내므로, 실제 실행 시간을 정확하게 예측하지는 않습니다. 빅오로 시간 복잡도를 표현할 때는 최고차항만을 표기하며, 계수는 무시합니다. 예를 들어 4n^2 + 3n + 4 번만큼 계산하는 함수가 있다면 이 함수의 시간 복잡.. 2024. 4. 7. 위상 정렬(Topological Sort) 목차 위상 정렬(Topological Sort) 위상 정렬(Topological Sort)은 방향 그래프의 모든 노드를 "방향성을 거스르지 않도록 순서대로 나열하는 것"을 말합니다. 즉, 그래프 상에서 어떤 노드로 가기 위한 선행 노드들을 모두 거친 후에 해당 노드를 방문할 수 있는 순서로 노드들을 나열하는 과정입니다. 위상 정렬은 일반적으로 사이클이 없는 방향 그래프(Directed Acyclic Graph, DAG)에서만 수행할 수 있습니다. 예를 들면, 수강신청을 할 때 선수과목이 있는 경우 선수 과목을 먼저 듣고 나서 해당 강의를 수강할 수 있습니다. A->B / B->C / B->D / C->D 가 있다고 할때, A, B, C, D 순서대로 들어야지 모든 과목을 수강할 수 있습니다. 만약 A B.. 2024. 3. 21. 비트마스킹(Bit Masking) 목차 비트마스킹(Bit Masking) 비트마스킹은 일종의 기술입니다. 이진수 표현을 활용해 값을 저장하거나 연산하는 기법으로 빠른 연산이 가능합니다. 비트 연산자 종류 and(&) : 둘 다 1이여야지 1 / 나머지 0 or(|) : 둘 중에 한 개라도 1이 있다면 1 / 둘다 0일 경우 0 xor(^) : 둘 중에 한개만 1일 경우 1 / 둘다 1이거나 0일 경우 0 not(~) : 1인 것은 0으로 0인것은 1로 변환 왼쪽 쉬프트(n 은 A를 2**n으로 나눈것 비트 연산자의 활용 예시 특정 mask에 n번째 비트값이 1인지 확인하기 1 2024. 3. 21. 이전 1 2 3 4 5 6 7 8 ··· 10 다음