반응형

공부 47

[ C++ ] Time.h

1. time_t time_t는 time 헤더에서 시간을 잘 다루기 위해서 만들어진 데이터 타입이다. 일반적으로 1970년 1월 1일 00:00 UTC (유닉스 타임)이후 경과된 초(정수값)를 나타낸다. time() 이라는 함수의 반환형이다. 2. tm 구조체 tm구조체는 시간을 우리가 알아볼 수 있게 세세하게 변수로 나누어서 만들어져 있는 구조체 이다. time_t는 사람이 알아보기 힘드므로 tm 구조체를 활요하면된다. struct tm { int tm_sec; // seconds after the minute - [0, 60] including leap second int tm_min; // minutes after the hour - [0, 59] int tm_hour; // hours since ..

공부/C++ 2022.11.13

[ Spring ] 스프링 웹 개발 기초 : 정적컨텐츠, MVC와 템플릿엔진, API

웹 개발을 하는데에는 세가지 방식 정적컨텐츠, MVC와 템플릿엔진, API로 세가지 방식이 있다. 1. 정적 컨텐츠 정적 컨텐츠 - 서버에서 하는거 없이 파일을 웹브라우저에 내려주는 것 이를 위해서는 위에 그림처럼 static 파일에 html파일을 생성해주면 된다. 정적 컨텐츠 입니다. 실제로 아래와 같은 코드로 hello-static.html 파일을 생성하고 localhost:8080/hello-static.html 로 들어가보면 아래 사진과 같이 html 코드에 대한 결과가 그대로 나오게 된다. 원리를 살펴보자. 웹 브라우저에서 주소를 입력하면 내장 톰켓 서버가 스트링 컨테이너로 넘긴다. 스트링 컨테이너에서는 관련 컨트롤러가 있나 확인을 해보고 없으면 파일을 찾아서 웹 브라우저로 넘긴다. 2. MVC..

[ Spring ] Welcome Page 만들기 및 컴파일

컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 리턴값과 같은 파일를 찾아서 처리한다. resources:templates/ +{ViewName}+ .html 현재 컨트롤러에서 hello를 리턴하고 있어, 이를 실행하면 hello.html이 실행이된다. @Controller public class HelloController { @GetMapping("hello") public String hello(Model model) { model.addAttribute("data", "hello!!"); return "hello"; } } 안녕하세요. 손님 위와 같이 두개의 코드를 작성한 뒤 locallhost:8080/hello로 들어가면 " 안녕하세요. Hello! " 라고 ..

[ Spring ] 환경설정

자바는 JAVA 11, IDE는 IntelliJ를 사용할 것이다. https://start.spring.io/ 위 사이트에서 아래와 같이 세팅을 하고 build.gradle 를 IntelliJ로 불러온다. 잘 불러왔다면 아래와같이 파일이 뜰 것이다. 파일에서 메인을 실행시키면 http 포트 8080이 열렸다고 뜰 것이다. http://localhost:8080/ 로 들어가보면 아래와 같이 뜨는데, 아직 아무것도 안해줬기에 정상이다. 오늘은 간단한 세팅만을 해보았고 다음부터는 공부를 해볼것이다!

[ 알고리즘 ] 연결리스트, STL list

연결리스트 원소들을 저장할 때 그 다음 원소가 있는 위치를 저장하는 자료구조 특징 k 번째 원소를 확인하기 위해 O(k)가 필요하다 임의의 위치에 원소를 추가,제거는 O(1) 종류 단일 연결리스트 이중 연결리스트 원형 연결리스트 배열 vs 연결리스트 // 연결리스트에 원소를 넣었다가 뺏다하는 함수 #include using namespace std; const int MX = 1000005; int dat[MX], pre[MX], nxt[MX]; int unused = 1; void insert(int addr, int num) { dat[unused] = num; pre[unused] = addr; nxt[unused] = nxt[addr]; if(nxt[addr]!=-1) // 맨 끝에 삽입하는게 아..

공부/알고리즘 2022.02.20

[ 알고리즘 ] 배열 , STL vector

배열 : 메모리 상에 원소를 연속하게 배치한 자료구조 특징 - k 번째 원소를 확인, 변경가능 - 추가적으로 소모되는 메모리의 양(overhead)이 거의 없음 -Cache hit rate가 높음 - 메로리 상에 연속한 구간을 잡아야해서 할당에 제약이 걸림 기능 - 배열 추가, 삭제, ghkrdls O(1) - 임의의 위치에 원소 추가, 삭제 O(N) // 배열 임의의 위치에 추가, 삭제하는 코드 #include using namespace std; void insert(int idx, int num, int arr[], int& len) { if (len != idx) { for (int i = len; i > idx;i--) { arr[i] = arr[i - 1]; } } arr[idx] = num;..

공부/알고리즘 2022.02.07

[ 알고리즘 ] OT, 기초 코드 작성 요령

1) 시간 복잡도 시간복잡도 : 입력의 크기와 문제를 해결하는데 걸리는 시간의 상관관계 빅오표기법 : 주어진 식을 가장 큰 대표항만 남겨서 나타내는 방법 ex. O(N) : 5N+3 , 2N+2 연습문제 /* 문제1 N 이하의 자연수 중에서 3의 배수이거나 5의 배수인 수를 모두 합한 값을 반환하는 함수 func1(int N)을 작성하라. N은 10만 이하의 자연수이다. */ void func1(int N) { int sum = 0; for (int i = 1; i < (N + 1); i++) { if (i % 5 == 0 || i % 3 == 0) { sum += i; } } cout

공부/알고리즘 2022.01.09
반응형