분류 전체보기 (52) 썸네일형 리스트형 [C/C++] 제곱 최근에 친구랑 같이 풀었던 알고리즘 문제 문제) 입력으로 자연수 a가 주어진다. 이 때, 자연수 k를 곱한 결과가 거듭제곱수가 되는 최소의 k를 구하는 프로그램을 작성하여라. 인풋 예제) 5 // 데이터 입력 갯수 2 // 첫번째 인풋 4 // 두번째 잇풋 12 // 세번째... 14 919451 코드에 수도코드도 안지워서 코드로 봐도 되지만 간단히 설명하면 1. 필요한 범위까지의 소수를 구한다. 2. 지금 값이 소수인지 확인한다. 3. 아니라면, (while) 가장 작은 소수부터 k로 나눠 본다. 3-1. 홀수로 나눠지면, k를 곱한다. 3-2. 짝수로 나눠지면, 그대로 둔다. 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 2.. [C/C++] 큰 수의 곱셈 (karatsuba, 카라츄바) 개념은 별로 안 어려운거 같은데, 막상 짜려니 너무 힘들다.. 개념 속도 O(n^log3) B진법의 m자릿 수를 가진 X와 Y라는 수가 주어질 때, 마지막 결과 값에서 보면 곱셈은 총 3번이다. 우리가 흔히 아는 곱셈으로하면 곱을 4번 연산해야하는데, 1회줄어들었다. 구현 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 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85.. [VSCode] 변수, 함수 이름 동시에 변경 ► ctrl + D / cmd + D 한 번 누르면, 커서 위치의 단어선택 여러번 누르면, 같은 단어 하나씩 추가 ► ctrl + shift + L / cmd + shift + L 변경하려는 단어 선택(ctrl + D) 후, 누르면 한 번에, 같은 단어 전부 변경 ► F2 변경하려는 단어 선택(ctrl + D) 후, 누르면 한 번에, 같은 단어 전부 변경 ※ IntelliJ 에서는 Shift + F6, 만약 함수의 변수명들을 수정하고 싶으면 ctrl + F6 [C/C++] vector 구현 특정 알고리즘 대회에서는 lib제한이 있을 수 있다. 그런 경우를 대비해서 vector 구현방법에 대해서 알아보자. 물론 전체 기능을 구현할 수는 없으니, 주요한 기능인 push_back 에 대해서만 작성하였음. #include 간단하게 구현해보자. template class Vector { private: T *values; int size; int cap; public: Vector() { values = new T[4]; size = 0; cap = 4; } Vector(int default_capacity) { values = new T[default_capacity]; size = 0; cap = default_capacity; } ~Vector() { delete[] values; } void.. Clean Code Clean Code 깨끗한 코드를 유지해야하는 이유? 개발하면서 최적화 된 코드를 작성해라 (=코드 개선을 미루지마라. 나중은 절대 오지 않는다.) -> 깨진 유리창의 법칙 나쁜 코드는 점진적으로 생산성을 하락시키게 한다. 코드는 읽기:쓰기 비율이 10:1 클린 코드를 구분할 줄 아는 것과 작성할 줄 아는 것은 다르다. 보이스카우트 규칙 캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라 = 체크아웃 할 때보다 좀 더 깨긋한 ㅋ코드를 체크인 한다면 코드는 절대 나빠지지 않는다. 의미있는 이름 의도를 분명히 밝힌 이름을 사용하라. int d -> int appCratedDate. 그릇된 정보를 피하라. accountList -> accounts or accountGroup(리스트의 List인지 계정의 집.. Encryption 1. RSA 양방향 암호화 비대칭키 암호화 방식 (private, public key 따로 존재) 2. AES256 (Advanced Encryption Standard) 양방향 암호화(복호화 키 필요, 16자리 이상) 대칭키 암호화 방식 (암호화와 복호화 과정에서 동일한 키를 사용) AESGCM(Galois/Counter Mode) 패딩으로 해킹하는 것을 보완 목적 3. SHA256 (Secure Hash Algorithm) 단방향 암호화 (암호화 키가 존재하지 않음) 암호문을 평문으로 바꾸는 복호화는 불가능 항상 같은 결과 Base64 Encoding과 같이 쓰도록 적용되어 있음 +) 4. KMS AWS에서 제공 docs.aws.amazon.com/ko_kr/kms/latest/developergui.. 개발환경 설정 IN_PROGRESS Git 설정 node.js 설치 IDE mongodb docker and kubernetes IDE Git 설정 https://jintelli.tistory.com/34 node.js https://jintelli.tistory.com/35 IDE vscode terminal 에서 실행 vscode 실행 -> f1, shell command 입력 -> $ code intellij terminal 에서 실행 실행 -> menu -> Tools -> Create Command-line Launcher... -> $ idea 아임 맥북에어 오너 확실히 맥북에어를 사고 나서 내 인생이 달라졌다. 원래는 고딩때 일진 눈도 못마주치고 쓰레기 아무데나 버리고 침 찍찍 뱉고 했는데, 맥북에어 M1칩 탑재 SSD 512GB의 오너가 되고나니깐 품위유지 할려고 스스로 노력할려고한다. 방금도 길바닥에 포스틱봉지 버려져있길래 주워서 쓰레기통에 버리고왔다. 학생때는 일진은 커녕 같은 찐따 눈도 못마주쳤는데 이제는 배달음식 주문할때도 큰 소리로 또박또박말하고, 편의점 피시방에서도 알바생이랑 눈마주치기 가능해졋다 아무리 기분 좆같은 일이 생겨도 샤워하면서 혼자 나는 누구? "맥북에어의 오너" 하면서 웃으니깐 기분도 좋아지네 이래서 자리가 사람을 만든다는말이 나온거같다. 엌ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ맥북샀다니까 친구가 보내줌 이전 1 2 3 4 5 6 7 다음