전체 글(407)
-
(TIL) 20210602
1.Facts(한 것) 학교 과제 완성 및 제출 프로그래머스 문제 풀기 2.Findings(배운 것) 과제는 마지막 날 하는 것이 가장 효율이 좋다 (정신적 효율 제외) 프로그래머스에서 두 개 뽑아서 더하기라는 문제를 풀었다. 문제에서 요구하는 답은 주어진 배열에서 두 가지를 뽑아서 더한 값들의 집합을 리턴하면 되는 것이다. 아래는 내가 짠 코드이다. #include #include #include #include #include using namespace std; stack temp; vector arr; vector solution(vector numbers) { vector answer; for(int i = 0; i < numbers.size(); i++) { for(int j = i+1; j ..
2021.06.02 -
(TIL) 20210601
1.Facts(한 것) C++, 파이썬으로 프로그래머스 문제 풀기 알고리즘 퀴즈 풀기 학교 과제 수행 2.Findings(배운 것) 아침에 일어나서 학교 알고리즘 수업 퀴즈를 풀었다. 프림 알고리즘에서의 트리에 노드 삽입 순서와 크루스 칼 알고리즘의 cut property에 대해서 문제가 나왔다. 다행히도 열심히 복습해서인지 다 맞은 것 같다. 파이썬을 책을 보며 복습하고 있다. 기본적인 입출력부터, 튜플, 리스트 등 기본적인 문법부터 자료구조와 알고리즘을 하나하나 다 파이썬으로 작성해볼 생각이다. 프림 알고리즘의 동작 방식이 두가지가 있는데, 하나는 간선들의 우선순위를 고려한 실행방식, 하나는 노드들의 weight를 고려한 실행방식이 있다. 전자는 lazy version, 후자는 eager versio..
2021.06.02 -
(TIL) 20210531
1.Facts(한 것) C++, 자바스크립트로 프로그래머스 문제 풀기 알고리즘, 자료구조 복습하기 2.Findings(배운 것) MST 알고리즘에 대해서 복습을 했다. kruskal 알고리즘과 prim 알고리즘에 관해서 수업을 들었는데 자료구조 그래프에 대한 이해도가 떨어져서, 자료구조를 복습 할 수 밖에 없었다. c++로 prim 알고리즘을 어떻게 구현할까 찾아보다가 C++11부터 추가된 unordered_map이라는 라이브러리가 생겼고, 해시맵이랑 거의 동일하게 사용이 가능했다. 우선순위 큐를 사용해서 동작하는 프림 알고리즘은 바이너리 힙을 사용했을때 비용이 ElogV이고 피보나치 힙을 사용했을때 비용이 E +VlogV다. 3.Feeling(느낀 점) 트리랑 그래프 문제를 왜 못 풀었는지 알겠다.....
2021.06.01 -
(TIL) 20210529
1.Facts(한 것) C++, 자바스크립트로 프로그래머스 문제 풀기 알고리즘 수업 듣기 자료구조 정리 및 포스팅 2.Findings(배운 것) "문제를 잘 읽어라"(제발) 프로그래머스 문제 중 '가장 큰 수'라는 문제가 있다. 이 문제는 이전에도 풀었지만, 다시 한번 풀어보고 싶어 한번 더 풀게 되었고, 그때와는 다른 방식으로 접근하고 싶었다. 문제에서 요구하는 것은 숫자가 든 배열에서 숫자를 정렬하여 가장 큰 수를 리턴하는 것이었다. 가장 쉽게 생각할 수 있는 풀이방법은 문자열로 바꾸어 배열에 넣은 후 비교 함수를 만들어 기준에 따라 정렬한 후 max값을 반환하는 것이다. 이번에는 C++ 내장함수인 next_element를 사용해 보고 싶어서 아래와 같은 코드를 짜봤다. #include #includ..
2021.05.29 -
[자료구조] 큐의 개념, 구현 및 적용 C/C++
📕 큐란?? 자료구조 큐를 이해하기 위해서는 영어 queue가 무엇인지를 알면 역시 이해하기 쉽다.Queue는 명사 '줄' 이라는 뜻이 있다. 그렇다면 대체 왜 "줄"을 자료구조 컨테이너의 이름으로 정했을까?그건 줄을 서는 상황을 생각해보면 알 수 있다.놀이공원에 들어가기 위해서 줄을 선다고 생각해보자. 그렇다면 가장 먼저 입장하는 사람은 누구겠는가?당연히 줄 가장 앞에 있는 사람일 것이다. 반대로 가장 늦게 입장하는 사람은 줄 마지막에 서 있는 사람일 것이다. 아래는 큐를 그린 그림이다.📕 큐의 특징 큐 == 줄 이기 때문에 생기는 특징이 있다.바로 선입선출, First In First Out이다. 그렇기 때문에, pop 함수를 호출하면, 가장 앞에 있는 element가 큐에서 삭제되며,push..
2021.05.29 -
(Java Spring) 코드숨 5주차 주간회고
This document was originally issued on Mar 1st. 1.Facts (한 것) 매일 C언어로 백준 문제 풀기(같은 문제를 자바, 파이썬으로 다시 풀기) 매일 2시간씩 운동 자바 기본 문법 복습 2.Findings(배운것) Lombok 라이브러리 DozerMapper를 사용한 매핑 3.Feeling(느낀점) "의존성이 이런거구나" 이번 주차 과제를 하면서 저번주차에는 확실하게 느끼지 못했던 클린아키텍쳐의 의존성을 확실히 느꼈다. 컨트롤러에서 서비스를 호출하고, 서비스에서 리포지토리를 호출하는 이러한 의존관계를 더 잘 이해할 수 있게 되었다. 처음에는 "하나 문제 생기면 전부 문제 생기잖아? "라고 생각했는데, 한번 더 생각해보니, 리팩토링할때 훨씬 좋고, 코드를 짤때도 어떤..
2021.05.29