3진법 뒤집기
·
공부/Code Cata
*string을 사용한 초기 작성 코드더보기#include #include #include using namespace std;string Trit(int n){ string Result = ""; while(n != 0) { Result += to_string(n % 3); n /= 3; } return Result;}int solution(int n) { // 3진법으로 변환하며 string에 뒤에 자리부터 저장 string R_Trit = Trit(n); int answer = 0; // 3진법으로 변환하고 뒤집힌 n을 다시 10진법으로 변환 int i = R_Trit.length() - 1; for..
행렬의 덧셈(함수 내 배열 크기와 함께 초기화)
·
공부/Code Cata
#include #include using namespace std;vector> solution(vector> arr1, vector> arr2) { vector> answer; for(int y = 0; y 처음 코드를 작성했을 때, 오류가 발생하여 IDE에서 디버깅을 해보았다. 유효하지 않은 매개변수가 함수에 전달되어 런타임 중에 예외되어 처리되지 않고 에러를 발생했다고 한다.answer[y][x] = arr1[y][x] + arr2[y][x]; 구문을 실행할 때, 에러가 발생된 것을 확인했고 원인은 answer의 크기가 설정되지 않은 상태로  초기화 되어있어,  2차원 배열의 공간이 없는데 인덱스 위치에 값을 집어넣어서 생긴 문제로 보인다. #include #include usi..
Quick Sort
·
공부/Code Cata
#include #include #include using namespace std;string solution(string s) { sort(s.begin(), s.end(), greater()); return s;}이와 같이 헤더의 sort함수를 사용해 쉽게 값을 구할 수 있었지만, 내부 구현이 어떻게 되는지 궁금하여 정렬 알고리즘에 대해 공부해봤다.  정렬 알고리즘에는 퀵정렬, 버블정렬, 삽입정렬, 선택정렬 등 여러 정렬 방법이 있는데 그 중, 퀵정렬에 대해 공부하였다. Quick sort 정렬 알고리즘: https://dong-grae.tistory.com/53 Quick Sort 정렬 알고리즘Quick Sort#include #include #include using names..
std::sqrt
·
공부/Code Cata
#include using namespace std;int solution(int n) { int answer = 0; int k = n - 1; //n에서 나머지가 1이 되기 위한 수 for(int i = 2; i sqrt 제곱근 함수sqrt 함수는 C++ 표준 라이브러리에서 제공하는 수학 함수이고, 제곱근(SquareRoot)를 계산한다.함수 원형: double sqrt(double x);#include 헤더를 포함해야한다. 함수 원형을 보면 부동소수점 연산을 사용함으로, 아주 큰 값이나 아주 작은 값에서는 약간의 오차가 발생할 수 있다.정수 제곱근 판별, 약수 계산 등 다양한 수학적 문제에 활용될 수 있다.n값의 최대 범위가 크기에 이 문제를 어떻게 풀지 고민하다가 ..
약수의 개수가 홀수인가?
·
공부/Code Cata
#include #include #include using namespace std;// Number의 약수 개수를 반환int GetDivisorCount(int Number){ int Count = 0; for(int i = 1 ; i 처음 이 문제를 접했을 때, 현재 타겟 숫자의 약수 개수를 리턴하는 함수를 만들어서 약수가 홀수라면 값을 빼고 짝수라면 더하는 구조로 문제의 어순 흐름대로 해결해보았다. 하지만 깊게 생각해보면 약수가 홀수라는 얘기는 약수 중에 제곱수가 포함되어있다는 얘기가 되고, 이 전제라면 직접 약수의 개수를 Counting 하지 않고 타겟 숫자가 제곱수를 포함하고 있는지 여부만 확인하면 된다는 이야기이다.   #include #include #include usin..
std::inner_product(내적 계산)
·
공부/Code Cata
#include #include using namespace std;int solution(vector a, vector b) { int answer = 0; for(int i = 0; i 처음에는 반복문을 통해 직접 배열의 시작과 끝을 순회하며 a[i] * b[i] 의 값을 answer 변수에 더 해가며 저장했는데,내적 계산에 대해 알아보니 C++ 표준 라이브러리  헤더에 std::inner_product 함수의 존재를 알게되었다.이는 두 컨테이너의 내적을 계산할 때 사용되고, 내적(inner product)은 두 벡터의 대응 요소를 곱하고 그 결과를 모두 합산한 값을 의미한다. 고로 위 문제의 해결에 대한 기능을 갖추고 있음을 알 수 있다.  #include #include #inc..