전체 글

전체 글

    2020.02.03 백엔드 공부(2)

    설 보내고... 서울 돌아오고 이틀뒤에 할머니 돌아가셔서 상을 치르고 왔다... 인프런의 무료강의를 듣기 시작했다. var express = require('express') var app = express() var bodyParser = require('body-Parser') app.listen(3000,function(){ console.log("start!!! express server on port 3000"); }); // 3000이라는 포트로 function 실행 시켜주고 응답받기위해 계속 돌아가고있음 // localhost 는 127.0.0.1 과도 같다. localhost:3000 이 곧 127.0.0.1:3000이다. //console.log('end of server code .....

    20.01.20 백엔드 공부(1)

    20년이 되었다. 공백기간 동안 백준만 주구장창 풀었다.. dp 와 dfs bfs 문제들을 말이다. boj에 대해선 포스팅 하기가 애매해서 하지 않았다. 애초에 누굴 보여주기 위함도 아닐 뿐더러.. dfs bfs 개념은 쉬우니 내가 따로 기록안해놔도 될 것 같았고 dp는 수학적인 문제여서 내가 다시 그 문제를 찾아보는거는 베끼는 것 밖에 더 안된다고 생각이 들었다. 곧 2월이다. 상반기 취직 시즌인데 참 막막하다. 세부분야를 내가 파지 않아서 이것도 저것도 아닌 애매한 상태라고 볼 수 있겠다. 사실 알고리즘때에 이용한 C++를 이용하여서 취직을 하면 좋겠다고 생각하였지만 막상 C++ 사용분야가 넓지가 않더라. C면 몰라.. 웹쪽이 취업공고가 잘나는데 프론트는 학부때도 겪어봤지만 정말 영 내 분야가 아닌걸..

    19.12.05 (힙,  c++ 절대값, mem 시리즈, boj11286, boj1655)

    19.12.05 (힙, c++ 절대값, mem 시리즈, boj11286, boj1655)

    우선순위큐를 해결하기 위한 힙문제를 풀어 보았다. 개념을 잡고 구현하려고 끙끙하다가 구현하니깐 이후부터는 쉽더라. c++ 절대값은 int 형일 떄에 #include 선언 후에 abs(n) 이렇게 붙여주면 된다. double 형일 경우에는 #include 이므로 구분하자. boj11286을 하는데 최소힙 베이스로 두고 절대값들을 비교하고 일반 값들을 비교하는 식으로 풀어보았다. 런타임에러가 나왔다... 아직 해결 못했다.... 해결되는대로 수정해서 올리겠다.. 이렇게 짜보았다. boj1655 boj1655 를 그 다음에 푸는데 어떤식으로 헤쳐나갈지 몰라서 일단 정말 단순하게 생각해서 heap 배열을 temp배열에 복사를 하고 temp로 pop을 무작정 반복해서 값을 구해서 비교하고 출력하는 식으로 해보았다..

    19.12.03 (boj1620, isdigit)

    19.12.03 (boj1620, isdigit)

    문자열이 낀 알고리즘 문제에 항상 취약한 것 같다. 문자열과 숫자가 번갈아 들어오는데, 처음에는 아스키코드로 구분을 하였다. 너무 비효율적이라고 생각하였지만, 이것이 내가 아는 방법이었기 때문이다. 구글에 찾아보았다. isdigit() 이라는 함수가 있었다. #include 선언해주자. bool bCheck; bCheck=isdigit('3'); True bCheck=isdigit(49); True bCheck=isdigit('t'); False 문제를 풀 때에 map 을 이용하는 것 까지는 맞았지만 map 으로 했던 잘못이 있었다. string을 key로 두면 훨 쉬워지는데 말이다. string 이 들어오면 string poke; if(digit(poke[0]){ } else{ printf("%d", ..

    19.11.22 (vector 2차 배열 선언, lower bound, upper bound)

    2차 배열을 사용하면 함수로 매개변수를 줄 때에 포인터 때문에 머리가 복잡하다. 이를 벡터를 통해 2차 배열을 이용하면 아주 간단히 할 수 있다. vector vp; vp.assign(n,vector(m,0)); 이러면 끝이다. vp.size(); 를 하면 앞의 n 이 나오게된다. vp[i].size() 하면 뒤의 m 저기서 > 이렇게 >>를 붙여쓰면 쉬프트연산으로 착각해버리니 뛰어쓰기를 꼭 사용하자. 줄여서 vectorvp(n,vector(m,0)) 이렇게 사용해도 된다. 0으로 초기화 까지 한 것이다. lower bound upper boudn https://blockdmask.tistory.com/168 [탐색] lower_bound, upper_bound 안녕하세요. BlockD..

    19.11.13 (priority queue, deque)

    백준 큐 파트를 풀고있다. 큐 자체가 워낙에 뭐 복잡하지 않고 스택이랑 비슷해서 따로 정리글을 올리지 않겠다. boj1966 풀다가 막혀서 찾아보니 priority queue 라는 우선순위 큐 라는 개념을 사용하더라. 이것은 잘 모르니 정리해보겠다. 빠르게 이어서 우선순위 큐(priority queue)라는 자료구조를 살펴봅시다. 이니셜은 PQ입니다. 이건 큐가 이름 끝에 붙어 있듯이 push, top, pop 연산밖에는 없는데, 하는 일과 내부 구조는 보통 큐와 완전히 다릅니다. top, pop에서 추출되는 원소는 제일 먼저 들어왔던 게 아닌, 현재 우선순위 큐 안에서 제일 우선순위가 높은 원소기 때문!! 가장 유명하고 많이 쓰이는 형태는 클수록 우선순위가 높은 형태, 작을수록 우선순위가 높은 형태입니..

    19.11.05 (근황 토크, 팩토리 패턴)

    지난 글 작성이 10.20 인걸 보니 정말 오랜기간 비웠구나 싶다. 공부를 하지않은 것은 아니다. 시험기간이 껴있었으니 공부는 당연했다. 사실 4학년 2학기다 보니깐 학과공부가 눈에 들어오지 않는다. 전공이 1개고 나머지가 교양인 이유도 있을터이다. 부재 기간동안에도 boj 는 풀었다. 하지만, 이게 푼 모든 문제를 여기다가 작성을 해야하는지 뭔가 스스로 판단하기가 되게 애매한 것 같다. 쉽게 풀리는 것 또한 올려야 하나 그런 생각이 든다. 애초에 누굴 보여주려는 목적이 아닌 나의 공부를 위한 tistory 인 것인데, 내가 몰라서 헤맨 부분만 올려야 맞지 않나 라는 생각이 든다. 요즘 드는 생각이 많다. 미래에 대한 생각이 대부분이다. 그래서 그 생각을 하지않으려고 회피하려고 하는 내 모습을 자주보게 ..