분류 전체보기(394)
-
동적으로 배열 할당하기
배열의 크기를 입력받아서 생성하고 싶을 때 int length; cin>>length; int *arr=new int[length]; //동적으로 배열 할당 ... delete[] arr;//동적 할당한 배열 공간 삭제해주기
2022.12.19 -
최대값 구하기 - max()
std 네임스페이스에 max라는 함수가 있다. //using namespace std; 변수들 중에서 최대값을 반환해준다. 인자로 두개만 전달 가능하다. ---> max(a,b) 세개를 비교할때는 ---->max( max(a,b),c)
2022.12.19 -
#define 매크로 상수
상수를 변수에 선언하는 것 대신 매크로로 저장가능 변수에 대입해서 쓰는것보다 빠르다. 선언할때 마지막에 콤마를 안붙혀도 된다. 예) #define max 3
2022.12.19 -
char배열에 문자를 입력받아서 숫자로 변환
char 배열이 있다. char b[4]; char 배열에 문자를 입력받는다. ex) 112를 입력받았다고 해보자 그 중에 1의 자리 문자를 정수 3과 곱한다고 해보자 --> 3*b[3] (마지막 인덱스는 개행문자가 있어서 인덱스 3 참조) 이렇게 하면 원하는 값을 얻기 힘들다. 이때 b[3]에는 문자 2에 해당하는 아스키값으로 변환되기 때문이다. 우리가 원하는 숫자를 얻기 위해서는 b[3]-'0' 으로 해야한다.
2022.12.19 -
백준 1008번(출력값의 상대오차 10^-9가 되도록)
소수점 몇자리까지 출력하도록 지정하는 기능이 있다. 헤더파일에 존재한다. cout.precision(9) //가장 큰 자리수부터 9번째자리까지 출력하겠다 cout
2022.12.19 -
serching
1. Serial Search: 인덱스 앞부터 순서대로 찾는법 *Worst-case: O(n)의 시간복잡도 소요 2. Binary Search: 정렬된 배열에서 (시작인덱스+마지막 인덱스)/2 인덱스 다음부터 내가 찾고자 하는 것을 탐색 찾고자하는 값이 더 크다면 (5+마지막 인덱스)/2 로 반복 찾고자하는 값이 더 작다면 (시작인덱스+3)/2로 반복 * worst-case: log(n)의 시간복잡도 3. Hashing: 원래의 값(key)을 해쉬함수를 이용하여 변환한 후 해당 인덱스에 저장 -> 값을 찾을 때 key값을 이용해 탐색 *collision: 서로 다른 키 값이 해쉬함수로 같은 인덱스로 배정받는 경우 충돌했다고 한다. 해결방안) Open-Address Hashing(개방 주소법) : 충돌이 ..
2022.12.13