728x90 코딩테스트/알고리즘 기초 강의20 3강 수학 1 - 참고 -진법 변환 10진수 N을 B진법으로 바꾸려면 N이 0이 될때까지 나머지를 계속해서 구하면 된다. 난 나머지를 모두 string배열로 변환해서 저장하고 숫자 나머지들은 스택에 넣은 후, 나머지 연산 끝나면 스택에서 차례대로 pop하면서 string배열 인덱스로 나머지를 문자열로 만들어서 출력하려고 했다. 여기서 0을 생각 못해서 한번 틀리고, 인덱스가 헷갈려서 두번 틀렸다....에고 창피해/// 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 #include #include #include using namespace std; string arr[36]; int main() {.. 2020. 8. 20. 3강 수학 1 - 연습 이번엔 배운 수학 알고리즘을 응용하는 문제를 풀어봅시다~ -최대공약수 > 유클리드 호제법 유클리드 호제법을 통해 모든 쌍의 GCD를 구한다. 이 때 모든 쌍의 GCD를 구하기 위해 이중 for문을 사용한다. 그리고 모든 결과를 더하면 된다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 #include #include #include using namespace std; int gcd(int a, int b) { if (b == 0) return a; else return gcd(b, a%b); } int main() { ios_base::sync_with_stdi.. 2020. 8. 20. 2강 자료구조 1 - 참고 이건 강의는 따로 없고 그냥 참고해서 보고 문제를 푸는 느낌이당 - 후위표기법 중위 표기법은 일반적으로 수식을 표기할 때 사용하는 방식이다. 이는 연산자를 피연산자의 사이에 두는 방식이다. ex) 1+2, 3*4, 5/6 반대로 후위 표기법은 연산자를 피연산자의 다음에 두는 방식이다. ex) 1 2 +, 3 4 *, 2 1 - 전위 표기법은 연산자를 앞에 두는 방식이며, 폴란드 표기법이라고 한다. 반대로 후위 표기법은 역폴란드 표기법이라고도 한다. 중위 표기법은 사람이 보긴 편하지만, 컴퓨터가 처리하기엔 쉽지않다. 그래서 후위 표기법을 사용하면, 컴퓨터가 수식을 특별한 변환없이 처리할 수 있다. 후위 표기법으로 표현된 식을 계산하는 방법은 아래와 같다. 1. 피연산자는 스택에 넣는다. 2. 연산자를 만나.. 2020. 8. 20. 3강 수학 1 - 수학 1 이번엔 3강이다! 얼른 듣자!! 이번 강의에서는 알고리즘을 공부할 때 필요한 기초적인 수학 관련 내용이었다. 그 중에서도 나머지연산, 최대공약수, 소수와 팩토리얼에 대해 배웠다. -나머지 연산 나머지 연산은 말 그대로 수의 나머지를 구하는 연산이다. 나머지 연산을 할 때 연산을 다해서 나머지를 구하면 오래걸리기도 하고 컴퓨터의 정수는 저장할 수 있는 범위가 저장되어 있기 때문에 직접 연산하지 않고 나머지만 구한다. (직접 연산하는 경우 int나 long long과 같은 자료형의 범위를 넘어갈 수 있다) > (A+B) % M = ((A%M) + (B%M)) % M > (A*B) % M = ((A%M) * (B%M)) % M 이는 나누기의 경우에는 성립하지 않는다. 또한 빼기의 경우에는 음수가 나올 수 있기.. 2020. 8. 19. 2강 자료구조 1 - 연습 이번 강의는 지금까지 배운 자료구조의 연습문제를 풀어보는 시간을 갖도록 한다. 주로 스택을 다루는 문제를 풀어본다고 한다. 이 문제는 단어 뒤집기 문제와 비슷하지만 다른 점은 태그가 있다는 점이다. 태그 안에 있는 단어는 뒤집지 않고 밖에 있는 단어만 뒤집어준다. 그래서 단어 뒤집기 문제에서 태그 판단만 추가를 해주고 나머지는 거의 동일하게 구현하면 된다. 이 문제의 Worst case는 모든 단어가 스택에 추가되는 경우이기 때문에 시간 복잡도는 문자열의 길이가 N이라고 할 때, O(N)이 된다. 조금 헷갈리긴 했는데 출력, tag가 true면 뒤집지말고 그대로 출력, 아니면 공백이 아닌 경우에는 스택에 단어 넣어두고 공백이면 스택 출력. 이렇게 하면 된다! 1 2 3 4 5 6 7 8 9 10 11 1.. 2020. 8. 16. 2강 자료구조 1 - 큐와 덱 대표 사진들을 너무 짱구만 했나? 근데 블로그보면 너무 귀여워서 끊을 수가 없어,,,'ㅅ' ㅎㅎㅎㅎㅎㅎㅎㅎ 거두절미하고 이번 강의는 큐 & 덱에 대해 배워보자! 아 그리고 잡담이지만 난 블로그에 배운걸 정리할 때 노래를 들으면서 하는 편인데 요즘엔 백현의 love again에 꽂혀서 그것만 듣는 중이다ㅎㅎ 원래 백현이 노래 다 좋아하는데 내가 love again듣고 물구나무 서서 발로 박수를 치면서 들어서....ㅋㅋㅋ 이건 들을때마다 좋아ㅠㅠ 특히 sm에서 올려준 백현이 love again live 버전이 있는데 이게 진짜 맛집이라구ㅠㅠ굉굉ㅠㅠ 과제할때 love again하나면 난 두려울게 없다구!! (소프젝1 2차 과제도 이거 들으면서 겨우 울면서 냈따..☆ 암튼 백현이 고마워ㅠㅠ 그니까 다들 러버겐 .. 2020. 8. 10. 이전 1 2 3 4 다음 728x90