목록Algorithm (13)
dearbeany
방법 1. private static boolean isPrime(int n) { if (n == 1) { return false; } for (int i = 2; i < n; i++) { // 2부터 n-1까지 if (n % i == 0) { // 한 번이라도 약수가 발견된다면 return false; } } return true; } 시간복잡도 : O(n) - n까지 모든 수를 다 돌며 약수여부인지 확인하기 때문에 시간복잡도는 O(n)을 가진다. 방법 2. private static boolean isPrime(int n) { if (n
1. 카운팅 정렬이란? - 정렬을 위해 집합에 각 항목이 몇 개씩 있는지 카운팅하여, 선형시간O(n+k) 에 정렬하는 알고리즘이다. - O(n^2)인 버블정렬, 선택정렬 보다 빠르기에 제한사항이 존재한다! - 시간 복잡도: O(n+k) n은 정렬 대상인 배열의 길이, k는 배열 내 정수의 최대값 2. 제한 사항 - 정수나 정수로 표현할 수 있는 자료에 대해서만 적용이 가능하다. why? - 각 항목의 발생횟수를 기록위해, 정수 항목으로 인덱스 되는 카운트들의 배열을 사용하기 때문이다. 즉, 카운팅 배열에서 정수인 인덱스에 대하여 이를 값으로 쓸 수 있어야 한다! → 예를 들어 '최빈수 찾기' 문제 풀이 시 최빈수를 카운팅 할 때 인덱스 index가 점수(1~100), 인덱스에 해당하는 값 value이 점..

WHERE 과 HAVING의 차이점? WHERE HAVING 그룹화 또는 집계가 발생하기 전에 레코드를 필터링 하는 데 사용 그룹화 또는 집계가 발생한 후에 레코드를 필터링 하는 데 사용 행을 필터링 그룹을 필터링 단일 테이블에서 데이터 가져오거나, 여러 테이블과 결합해 조건을 지정하는 데 사용 SELECT문이 집계값이 지정된 조건을 충족하는 행만 반환하도록 지정하는 데 사용 기본적인 조건절로서 우선적으로 모든 필드를 조건에 둘 수 있음 GROUP BY 이후 특정 필드로 그룹화 되어진 새로운 테이블에 조건 줄 수 있음 동물 보호소에 가장 먼저 들어온 동물의 이름을 조회하는 SQL 문을 작성해주세요. SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1; DATE..
data = list(map(int, input().split())) # 각 데이터를 공백으로 구분해 입력 map(적용시킬 함수, 적용할 값들): 두 번째 인자로 들어온 반복 가능한 자료형(리스트, 튜플)을첫 번째 인자로 들어온 함수에 하나씩 대입하여 함수를 수행 input()으로 받은 문자열을 공백 기준으로 split()하여 리스트로 바꾸고, map() 통해 해당 리스트의 모든 원소에 int() 적용. 그 결과를 list()로 바꾸어 결국 입력받은 문자열을 띄어쓰기 구분하여 숫자 자료형으로 저장됨. 단, input() 함수는 느리므로, sys 라이브러리에 sys.stdin.readline()을 이용! import sys data = sys.stdin.readline().rstrip() #문자열 입력받기..