728x90 반응형 분류 전체보기154 백준 1159 //백준 1159번 #include #include using namespace std; int cnt[26]; int n; string player; string ret; int main() { cout n; for(int i= 0; i = 5) { ret += i+ 'a'; } } if(ret.size()) cout c++/알고리즘 2022. 3. 18. c++ vector 1. 벡터란? 코딩테스트를 준비하면서 나는 c++를 사용하기로 했다. 이 때 가장 중요하게 생각했던 것이 데이터를 담는 라이브러리 및 자료형인데 배열은 처리하는 속도가 빠른 반면 크기가 한정되어 있어 처음부터 크기가 정해져있지 않은 문제에서는 문제가 발생할 수 있다. 벡터를 선언하는 것은 간단하다. 우선 vector 라이브러리를 추가해준다. #include 벡터를 사용할 때 크기 변경 가능 o 중간 삽입, 삭제 용이 X 순차 접근 가능 o 랜덤 접근 가능 o 2. 벡터의 생성 및 초기화 //1차원 벡터 vector vec1; vector vec2; vector vec3; //1차원 사용자 정의형 벡터 struct user { int id; string name; }; // 사용자 정의형 vector ve.. c++ 2022. 3. 16. c++ 행렬 곱셈 1. 문제 - n^3(Cubic complexity)를 만족하는 3중 for루프 곱(2차 행렬 a, b, c 곱셈) - Cubic complextiy 알고리즘의 경우 n=10, 50, 100, 150, 200 을 사용하여 결과 출력 입력 행렬의 크기가 달라져야하기 때문에 크기가 가변적인 벡터를 사용해서 할 것임 int SIZE = 200; vector solution(vector arr1, vector arr2) { vector ans(arr1.size(), vector(arr2[0].size(), 0));//2차원 배열 선언, 0으로 초기화 // arr1의 i행, arr2의 j열을 곱한다 // 인덱스 이동은 k for (int i = 0; i < SIZE; i++) { for (int j = 0; j .. c++/알고리즘 2022. 3. 16. 피보나치 수열 #include #include #include using namespace std; int Fibonacci(int num) { if (num == 0) return 0; else if (num == 1)return 1; else return (Fibonacci(num - 1) + Fibonacci(num - 2)); } int SIZE = 30; void main() { // IO 속도 향상 ios_base::sync_with_stdio(false); cin.tie(NULL); clock_t start, finish; double duration; start = clock(); Fibonacci(SIZE); finish = clock(); duration = (double)(finish - start.. c++/알고리즘 2022. 3. 16. heap sort 1. heap sort heap sort는 완전 이진 트리의 형태를 만족한다. 완전 이진트리란 tree의 leaf node들의 층수가 모두 같은 트리를 의미한다. 위의 그림에서 볼 수 있듯이 같은 층이 완전히 차기 전까지는 leaf node가 새로운 층으로 내려가지 않는다. 나는 최대 힙을 구현해볼 것이다. 언어는 c++를 사용하였다. 2. 구현을 위해 생각해야 하는 것 1. 노드가 가질 정보 각 노드들은 데이터를 가질 부분, 노드의 왼쪽 아래 층의 인덱스에 대한 정보, 노드의 오른쪽 아래 층의 인덱스에 대한 정보 총 3가지의 정보를 가져야한다. struct node // 데이터를 입력받을 노드 { int data; // 데이터 struct node* left; // 왼쪽 노드 struct node* r.. c++ 2022. 3. 15. python - numpy(module) could not be resolved pip install numpy(module명) 명령어를 통해 정상적으로 패키지를 설치했음에도 불구하고 다음과 같은 문구가 vscode에서 뜬다면 이는 python의 interpreter문제이다. python은 c나 c++와는 작동하는 법이 또 달라서 interpreter라는 것을 거치게 되는데 이 interpreter의 버전이나 종류에 따라 설치되는 경로가 달라지거나 해석하는 방법이 달라져 다음과 같은 오류가 발생하는 것이다. 이 문제를 해결하는 방법은 간단한데 우선 vscode에서 1.CTRL + SHIFT +P를 누른다. 그러면 다음과 같은 창이 뜨는데 이곳에 select interpreter라는 문구를 검색하면 pc에 깔려있는 python interpreter의 종류가 뜰것이다. 나의 경우 최근에.. 파이썬 2022. 3. 15. DoubleLinkedList 예전 자료구조 시간에 했던 과제들을 복기하며 다시 자료구조와 알고리즘에 대한 이해를 남겨보기로 했다. 그 중 자료구조에서는 Double Linked List라는 구조가 존재한다. Double Linked List란 양방향으로 연결 되어 있는 리스트로써 각 노드들이 양 방향으로 이어지는 구조를 가진다. 그러면 우리는 이 구조에서 몇 가지의 데이터를 신경써야할까 내가 프로그래밍을 하면서 느낀 점은 프로그래밍은 결국 데이터의 관리, 엔터티의 속성의 관리를 하는 일이다. 노드들이 양방향으로 연결되어 있으니 우리는 우선 노드라는 타입을 만들어야한다. #ifndef DLINKEDLIST_H #define DLINKEDLiST_H #include using namespace std; // 12171800 심정호 ty.. c++ 2022. 3. 13. git 초기화 하기 데이터 베이스 수업의 파이널 프로젝트를 올리려던 와중 예전에 node_modules폴더 까지 같이 commit을 해버려 용량이 너무 커서 올리지 못했던 것이 기억났다. 따라서 나에게 남겨진 선택지는 그 commit을 초기화하고 다시 git 을 만든 후 .gitignore 파일을 다시 만들고 commit을 하는 방법이었다. 리눅스에서는 그냥 터미널로 진행하면 되지만 windows에서는 git Bash를 설치한 후 진행해야한다. 나는 windows terminal 에서 계속 진행하다가 rm -rf .git 명령이 말을 듣지 않아 한참을 애먹었다. 1. git Bash를 설치한 후 킨다. git Bash에서는 한 번에 절대경로를 통해 이동하는 것에 제약이 있는 듯 했다. 이 부분은 내가 찾아보지 않아 모르는 .. 협업 툴(git, source tree) 2022. 3. 13. useParams를 통한 라우팅 react-router-dom에서는 useParams라는 훅을 기본적으로 제공한다. useParams는 기본적으로 query string의 매개변수를 값으로 받아오는 훅이다. 쉽게 말하면 https://api.themoviedb.org/3/movie/12321?api_key=&language=en-US 이러한 api키가 있다고 가정했을 때 movie뒤에 위치한 12321을 값으로 사용할 수 있게 만들어주는 훅이다. 실사용에서는 어떻게 사용되는 지 살펴보면 우리는 페이지를 만들고 라우팅 할 때 예를 들어 쇼핑몰사이트나 ott사이트에서 각 상품이나 각 영화에 관한 상세페이지를 만들고 싶다고 하자 그럴 때 각 상세페이지를 상품마다, 혹은 영화마다 다 만든다면 프론트 개발자들은 다 죽어나갈 것이다. 이러한 문제.. front-end/react 2022. 3. 3. 리액트 로그인 패턴 (with Redux, Axios) 리액트로 로그인 기능을 구현하는 패턴을 알아보겠다. 1. 우선 로그인 기능을 구현하는 feature폴더의 login.tsx 2. feature안에서 실질적으로 값들을 입력받아 async함수로 api를 호출한 값을 토대로 데이터를 가공하는 useLoginForm 커스텀 훅 3. 유저에 관한 서비스이므로 AuthService 클래스에 존재하는 login 함수 = 실제로 axios를 통해 api를 호출하는 함수 4. Redux를 이용한 상태관리를 할 것이므로 api로 받아온 데이터의 값에 따라 상태를 변경해 줄 리듀서와 acion들 5. Redux-saga를 이용한 middleware 1. feature 폴더의 login.tsx에는 로그인에 관련된 기능을 적어준다. 클라이언트가 직접 form에 id와 pass.. front-end/react 2022. 2. 18. React에서 이미지 모듈로 내보내기 이미지를 React에서 사용할 때 import 하는 과정에서 어떻게 해오는 지 애매한 경우가 많다. 이러한 경우에 전역에서 이미지의 파일 형식을 모듈로 내보내는 선언을 해주면 이미지를 import해올 때 간편하게 할 수 있다. 우선 src폴더 안에 types.d.ts파일을 만들어준다. 그 후 이 파일안에 모듈로써 내보내고 싶은 확장자를 정의해주면 된다. 다음과 같이 모듈로써 내보내고 싶은 확장자들을 정의해주면 import를 해올 때 더욱 간편하게 해올 수 있다. 따로 이미지에서 export를 하지 않아도 import해올 때 자동적으로 이미지를 설정한 이름으로 정의한 후 import해온다. front-end/react 2022. 2. 16. React + SWR SWR은 next.js를 개발한 vercel사 에서 제공하는 데이터 페칭 라이브러리다. 나는 msw를 통해 mocking data를 만들었고 이 mocking data를 useSWR훅으로 받아오는 작업을 하였다. msw handler에 적어둔 mocking data 배열의 형태로 받아왔다. 다음과 같이 map을 통해 SWRPerson[]을 돌면서 이름을 가져온다. 카테고리 없음 2022. 2. 15. 이전 1 ··· 7 8 9 10 11 12 13 다음 728x90 반응형