목록CS/Algorithm & Data Structure (23)
예지의 테크 로그포스 (Yeji's Tech Log Force)
1. Big-O Notation 빅오 표기법 가장 빠르게 증가하는 항만 고려하면 된다.(상한) -> 연산 횟수가 3N^3 + 5N^2 + 1000000이라면 O(N^3)으로 표현 - 좋은 것 부터(빠른) O(1) 상수 시간 O(logN) 로그 시간 O(N) 선형 시간 O(NlogN) 로그 선형 시간 O(N^2) 이차 시간 O(N^3) 삼차 시간 O(2^n) 지수 시간 O(N!) 팩토리얼 시간 - 나쁜 것 까지(느린) 예시 1) N개 데이터 합을 구하는 코드 array = [3,5,1,2,4] sum = 0 for x in array: sum += x print(sum) 정답: O(N) 예시 2) 2중 반복문을 이용한 코드 array = [3,5,1,2,4] for i in array: for j in a..
string을 int로 바꿔주는 stoi함수를 써 봤다. 근데 사실 이렇게 안 하고 끝자리부터 바로 비교하다가 더 큰걸 결과값으로 설정해주고 거꾸로 출력해줘도 됨 #include #include using namespace std; int main() { string n1, n2; cin >> n1 >> n2; string tmp1="", tmp2=""; for (int i = 2; i >= 0; i--) { tmp1 += n1[i]; tmp2 += n2[i]; } int num1 = stoi(tmp1); int num2 = stoi(tmp2); if (num1 > num2) cout
#include #include using namespace std; int main() { int T; cin >> T; int R; string S; for (int i = 0; i > R; cin >> S; for (int j = 0; j < S.length(); j++) { for (int k = 0; k < R; k++) { cout
% 연산을 이용해서 sum에 한자리씩 더해주려고 했지만 N (1 ≤ N ≤ 100) 의 범위를 고려하면 좋은 방법이 아니므로 접근법을 바꿨다. #include #include using namespace std; int main() { int N; char num; int result=0; cin >> N; for (int i = 0; i > num; result += num - 48; } cout