본문 바로가기

Study/CS

(14)
[git] git 협업하기 (코드잇 git으로 배우는 버전관리 강의를 보고 작성한 글 입니다.) 1. push 전에는 pull을 하라git으로 협업을 하다보면 이미 누군가 수정한 파일을 내가 다시 수정하는 경우가 발생한다. 위 사진은 그 때 발생하는 에러이다.이런경우에는 git pull을 먼저 해주는 것이 좋다.(pull과 rebase문제는 아래 접은글 확인)더보기하지만 pull을 하려고 봤더니, 나의 'premium' branch가 가장 최근 commit을 가리키고 있지 않아서 git rebase를 통해서 branch가 가장 최근 commit을 가리키도록바꾼다. fatal: Need to specify how to reconcile divergent branches 오류 해결 방법 참고 :https://devum.tistory...
일하면서 알게 된 것 - 1 보호되어 있는 글입니다.
[Algorithm] 유클리드 호제법으로 최대공약수, 최소공배수 구하기 c++ 1. 서론1. 최대공약수를 효율적으로 구할 수 있는 유클리드 호제법에대해 알아본다.2. 최대공약수로 최소공배수를 구하는 예제문제를 풀어보자. 2. 본론2-1 유클리드 호제법호제법 : 두 수가 서로 상대방수를 나누어 원하는 수를 얻는 알고리즘유클리드 호제법 : 2개의 자연수 a와 b에 대해서 a를 b로 나눈 나머지를 r이라고 하면(단, a > b) a와 b의 최대공약수는 b와 r의 최대공약수와 같다.이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. 최소공배수는 두 수 a와 b를 곱하고 최대공약수로 나눠주면된다. 2-2 예제프로그래머스 N개의 최소 공배수 : https://schoo..
[Algorithm] 10진법 N진법 변환 규칙 (feat. 프로그래머스 3진법 뒤집기) 1. 서론10진법에서 N진법들로 바꾸는 법을 알아보자. 이를 c++로 표현도 해보자.2. 본론10진법에서 N진법으로 바꾸는 법 : 10진법 숫자 X가 있을때, X를 N으로 나눌 수 있을 때까지 나누고 나머지를 반대로 적어준다.45(10)을 3진법으로 바꿀 때 : N진법에서 10진법으로 바꾸는 법 : N진법 각 숫자에 뒤에서부터 N의 0승부터 곱해서 더해준다.1200(3)을 10진법으로 바꿀 때 :C++로 표현해보기3진법 뒤집기 : https://school.programmers.co.kr/learn/courses/30/lessons/68935주어진 10진수를 3진수로 변환한 뒤, 뒤집어서 다시 10진수로 변환하는 프로그램이다. #include #include using namespace std;int s..
[Algorithm] 소수 판별하기, 에라토스테네스의 체 c++ 1. 서론소수 판별식과 에라토스테네스의 체에 대해 알아본다.소수 : 2보다 큰 자연수 중에서 1과 자기 자신을 제외한 자연수로는 나누어 떨어지지 않는 자연수 2. 본론2-1 소수 판별하기x가 주어졌을 때, 2부터 x까지의 모든 수를 x로 나눴을 때 0이 된다면 소수가 아니다.x의 제곱근 이상은 (x를 제외하고) x의 약수가 될 수 없다.그러므로 2부터 x/2까지의 모든 수를 x로 나눴을 때 0이 된다면 소수가  아니다. #include using namespace std;int main(){ int x; bool check = 0; cin >> x; for(int i = 2; i   2-2 에라토스테네스의 체소수의 판별이 아닌 주어진 수 x보다 작거나 같은 모든 소수를 찾을 때 사용..
[Algorithm] 조합 combination : next_permutation, prev_permutation, 재귀 1. 서론나에게 있어서 조합은 재귀를 이용했기 때문에 생각보다 접근하기 어려웠던 알고리즘이다. 하지만 더이상 공부를 안할 수 없어서 정리 글을 쓴다.이 글은 1. permutation(순열)을 어떻게 쓰는지 잠깐 공부하고, 2. 조합으로 사용할 수 있는 방법 세가지를 알려주는 글이다.글에서 n은 배열의 수, r은 배열의 조합 수를 의미한다. 2. 본론1. 순열순열은 영어로 permutation이라고 하며 algorithm 헤더에 있는 next_permutation과 prev_permutation으로 쉽게 사용할 수 있다. 두 permutation의 차이는 순열을 만들고자 하는 배열의 정렬 기준이다.next_permutation : 오름차순으로 정렬되어 있는 배열에서 사용한다.prev_permutation..
[Algorithm] 시간복잡도 연습하기 출처 : https://blog.naver.com/jhc9639/222283814653  1. O(1)간단한 참/거짓 if문사칙연산, 나머지연산 2. O(N)for문 한 개 있을 때 3. O(N^2)for문 두 개 있을 때 4. O(NlogN)int n, k = 0; for(int i = n / 2; i 첫번째 for문 1/2N = N, 두번째 for문 logN으로 NlongN이 된다.logN은 for문에서 곱하면서 증감할 때 (감소는 나누기) 나타나는것 같다.
[자료구조] stack 백준의 code plus 알고리즘 기초 1의 강의를 공부하며 정리한 내용입니다. 스택한쪽 끝에서만 자료를 넣고 뺄 수 있는 자료구조push / pop / top / empty / size  단어뒤집기#include #include #include using namespace std;int main(){ ios_base::sync_with_stdio(false); cin.tie(nullptr); int t; cin >> t; cin.ignore(); // getline에서 개행문자를 만났을 때 멈추지 않고 계속 입력받을 수 있도록 cin.ignore를 쓴다. while(t--){ string str; getline(cin, str); ..