개발 이야기 안하는 개발자

알고리즘 문제 풀이 공부 _ 1 본문

개발

알고리즘 문제 풀이 공부 _ 1

07e 2024. 10. 23. 15:50
반응형

알고리즘 공부하는데 뭔가 아리까리한 것들을 작성해본다.

쉽게 까먹고 그리고 유용한 함수들도 작성한다.

 

그리고 좀 문제도 좀 적고 길어지면 2편이나 3편을 돌아와야지 ㅎ

 

 

아스키 코드

첫번째 라인이 넘버.

마지막 빨간색이 가르키는 단

 

소,대 문자 

아스키 코드를 활용해서 +32 로 할수 있지만 함수로 바로 할 수 있다.

tolower, toupper

    char str = tolower('A');
    cout << str; // a

 

 

소수 알고리즘

N의 소수를 구하려면 N의 절반값까지 다 나눠서 나머지가 0인 애들만 모아서 계산해야 하는데, 이러면 시간복잡도가 O(N/2)으로 숫자가 커질수록 복잡해질 수 있다.

그래서 약수를 구할때 규칙이 있고, 이 규칙은 N의 제곱근을 중심으로 좌측에 있는 수들은 우측에 있는 수와 짝을 이룬다는 규칙이다.

자세한건 다른 블로그 찾아보고 ㅋㅋㅋ

bool CheckPrime(int n) {
	for (int i = 2; i <= sqrt(n); i++) {
		if (n % i == 0) { //i가 n의 약수라면 소수가 아니므로 false return
			return false;
		}
	}
	//2 ~ n-1까지 약수가 없다면 소수이므로, true return
	return true;
}

 

 

DFS (이진트리 깊이우선 탐색)

int n, ch[100];
void DFS(int L){
	int i;
	if(탈출 조건){
		...
	}
	else{
		ch[L]=1;
		DFS(L+1);
		ch[L]=0;
	}
}

 

 

BFS (이진트리 넓이 우선 탐색)

int ch[10001], d[3]={1, -1, 5};


	Q.push(s);
	while(!Q.empty()){
		x=Q.front();
		Q.pop();
        ... 조건 수행
	}
반응형

'개발' 카테고리의 다른 글

알고리즘 공부 (2024_10_31)  (1) 2024.10.31
알고리즘 공부 (2024_10_30)  (0) 2024.10.30
알고리즘 공부 (2024_10_29)  (0) 2024.10.29
알고리즘 문제 풀이 공부 _ 2  (0) 2024.10.25
2023 구글 클라우드  (1) 2023.06.28