본문 바로가기

분류 전체보기151

해시(hash)정리 해시에 대해서 이해하기 쉽게 정리된 글이다. 참고하자~ https://luv-n-interest.tistory.com/1024 Hash, 해시 테이블 , 자료구조 [CPP] 앞서 나온 자료구조보다 해시 테이블은 비교적 빠른 탐색 속도를 가지고 있다. 어떻게 그렇게 될 수 있는지 알아보고 어떤 자료를 표현하기에 적합한지 생각해보자 또한 여기선 lookup 이라는 용 luv-n-interest.tistory.com https://luv-n-interest.tistory.com/963 STL 맵, map 사용법 [C++] 맵이 뭔가 싶지만 C++의 dictionary를 맵이라 부른다. 즉, key ,value 짝의 자료구조를 맵이라 부른다. 그래서 선언할 때도 key자료형, value자료형 같이 선언한다. m.. 2022. 10. 5.
[프로그래머스] 소수찾기 c++ 알고리즘 생각한 알고리즘을 다음 세가지 단계로 나눴다. 1. 받은 종이조각의 숫자들을 하나하나 배열에 넣어서, 만들 수 있는 모든 숫자 조합을 구하기(next_permutation사용). 2. 011과 11이 같은 숫자인 것처럼, 중복을 제거하기 3. 에라토스테네스의 체를 이용해서 소수판별하기 정리 만들 수 있는 숫자 조합을 모두 구하는 과정에서 가령 1,2,0의 숫자가 있을 경우에 순열(next_permutation)로 120, 102, 210, 201, 012, 021의 숫자를 만든 후에, 각자의 숫자에 대해서 숫자를 하나씩 더해가면서 (120의 경우 1, 12, 120 세개의 수를 만들 수 있다.) 모든 숫자조합을 만들 수 있었다. STL이 지원하는 vector의 기능들에 대해서 잘 사용해볼 수 있.. 2022. 9. 30.
[프로그래머스] 가장 큰 수 c++ 가장 처음 생각해낸 방법은 모든 경우의 수를 나열하고, 그 중 큰 수를 찾는 방법이었다. STL의 next_permutation을 이용해서 모든 순열을 만들어서 비교했다. 하지만 이 경우는 next_permutation메서드의 시간복잡도O(N)과 내부 for문에 걸리는 시간때문에 시간초과가 발생한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 #include #include #include #include using namespace std; string solution(vector numbers) { sort(numbers.begin(),numbers.end()); int max_number = 0; do{ string tmp; for(int .. 2022. 9. 29.
[개념정리] 조합(Combination) 직접 구현해보기 아래의 [백준] 14052번 문제를 풀다가 개념을 정리해보았다. https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 주어진 숫자들에 대해서 조합을 하고, 조합된 숫자들에 대해서 문제를 풀어나가야 하는 상황에서 STL을 사용해서 문제를 풀자니 코드 재활용이 안되고, 과정이 머릿속에서 그려지지 않을 것 같아서 c++코드로 조합(Combination)을 구현해보았다. 문제 상황 (1,4), (5,2), (9,4), (8,3) ... 와 같이 두개의 숫자로 이루어진 .. 2022. 9. 6.
[Springboot] PRG패턴 정리 [김영한님의 스프링 MVC 1편-백엔드 웹 개발 핵심 기술을 학습 후 정리한 내용입니다.] 상품등록, 조회에 관한 간단한 웹페이지를 만드는 과정이었지만, 기본기부터 다지자는 마음에서 더 꼼꼼하게 강의를 들었던 것 같다. 뷰 템플릿으로 JSP가 아닌 Thymeleaf을 사용하게 되서,, 그 문법을 새롭게 배웠고, 강의 마지막 부분에서 PRG패턴과 RedirectAttributes을 사용해서 상품등록의 중복을 막고 사용자친화적인 message를 제공하는 것을 보고 정리를 하게 되었다. ● 현재상황 /add로 되있는 url은 상품등록폼으로 연결된 주소이고, 컨트롤러에서는 아래와 같이 상품명, 가격, 수량을 받아서 Item에 저장하고, 해당 basic/item이라는 뷰 템플릿으로 이동하게 된다. @PostMap.. 2022. 8. 26.
[Springboot] HTTP요청, 응답 처리 방식 정리 [김영한님의 스프링 MVC 1편-백엔드 웹 개발 핵심 기술을 학습 후 정리한 내용입니다.] HTTP요청이 들어올 때 매핑하는 방식부터 시작해서, 여러가지 어노테이션으로 요청 파라미터를 처리하는 방식, 또 json은 어떻게 처리하는지, 그리고 응답하는 방법과 여러가지 예시를 다루었다. 나중에 까먹을 수도 있다는 생각으로 정리했다. ● HTTP 요청을 매핑해보자. @RequestMapping(value= "/URL", method = RequestMethod.HTTP메서드) @RequestMapping(value="/hello-basic", method=RequestMethod.GET) public String helloBasic() { log.info("helloBasic"); return "ok"; } .. 2022. 8. 24.