전체 글 230

프로그래머스 - 네트워크

문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주어질 때, 네트워크의 개수를 return 하도록 solution 함수를 작성하시오. 제한사항 컴퓨터의 개수 n은 1 이상 200 이하인 자연수입니다. 각 컴퓨터는 0부터 n-1인 정수로 표현합니다. i번 컴퓨터와 j번 컴퓨터가 연결되어 있으면 computers[..

알고리즘 2020.04.19

프로그래머스 - 다리를 지나는 트럭

문제 설명 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이는 bridge_length이고 다리는 무게 weight까지 견딥니다. ※ 트럭이 다리에 완전히 오르지 않은 경우, 이 트럭의 무게는 고려하지 않습니다. 예를 들어, 길이가 2이고 10kg 무게를 견디는 다리가 있습니다. 무게가 [7, 4, 5, 6]kg인 트럭이 순서대로 최단 시간 안에 다리를 건너려면 다음과 같이 건너야 합니다. 따라서, 모든 트럭이 다리를 지나려면 최소 8초가 걸립니다. solution 함수의 매개변수로 다리 길이 bridge_length, 다리가 견딜 수 있는 무게 weight, 트럭..

알고리즘 2020.04.19

ajax 를 이용한 실시간 랭킹 반영

개인적으로 만들고 있는 프로젝트에서 조회수가 가장 높은 글 top10을 만들어주는 기능을 구현하려고 했다. 여러가지 방법들을 찾아봤지만 ajax 를 사용하는 방법이 가장 간편할 것 같아서 선택했다. setInterval 을 사용해서 ajax 의 요청을 일정주기마다 요청하는것인데 처음에 생각했을때는 많은 유저가 접속하는 상황이라던지 관리할 데이터가 크면 서버에 부하를 줄 수도 있고 setInterval 을 요청하는 주기안에 요청이 완료되지 않으면 발생할 수 있는 문제점들 때문에 잠시 고민했지만 db에서 많은 순서로 10개까지만 데이터를 가져오고 또 1분에 한번씩만 처리를 해주면 되는 기능이였기 때문에 그대로 진행하기로 했다. 서론은 여기까지하고 구현한 코드를 먼저 적어보겠다. $(function () { ..

Javascript 2020.04.16

jpa

http://wonwoo.ml/index.php/post/1004 Spring data JPA JPA에 대해서 많은 포스팅은 한듯하다. 하지만 계속 계속 봐야겠다. 할때마다 까먹는다. 오늘은 Spring data jpa를 포스팅해보자. Spring data JPA Spring data jpa는 스프링 프레임워크에서 JPA를 편리하게 사용할 수 있도로고 제공해주는 프로젝트이다. 이 프로젝트는 데이터 접근 계층을 개발할 때 지루하게 반복되는 CRU… wonwoo.ml 스프링 프로젝트를 하면서 DB와의 연결은 필수적이다. 지금까지 문제없이 잘 사용해왔지만 좀 더 궁금한 점이 있어서 이것저것 찾아봤는데 좋은 글이 있어서 링크로 남긴다. 확실히 글로 읽어보니 머릿속에 정리가 더 잘되는 느낌이다. Spring da..

DB 2020.04.15

Java Spring - @RequestBody, @ResponseBody 정리

1. @RequestBody ajax 를 사용할때 같이 쓰는데 이때 JSON.stringify 함수를 이용하여 데이터를 보내고 contentType을 "application/json"으로 설정해주어야 한다. 즉 ajax로 보낸 json 객체의 정보를 스프링에서 받아올때 사용한다. @Controller public class MainController { @ResponseBody @RequestMapping("/ex") public void init(@RequestBody User user) { user.getName(); user.getAge(); } } 스프링에서는 이렇게 받을 수 있다. 이때 User 클래스의 프로퍼티는 전송된 JSON 객체와 프로퍼티명이 일치해야하며 getter와 setter가 있어..

BackEnd/Java Spring 2020.04.14

프로그래머스 - 가장 큰 수

테스트 케이스는 통과하는데 채점에서는 시간초과 오류가 발생한다. dfs를 먼저 떠올렸는데 여기서 사용하기에는 적당한 방법이 아닌가보다. #include #include #include using namespace std; int visit[100000]; vector v; vector v3; vector v2; string temp=""; bool Standard(string A, string B) { if (A + B > B + A) return true; return false; } void dfs(vector n ,int count){ if(n.size() == count){ // 벡터 사이즈만큼 temp에 순열을 붙인 문자열을 만들게 됐을때 for(int i=0;i

알고리즘 2020.04.13

프로그래머스 - 정수 삼각형

문제설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 이 문제는 백준사이트에서도 풀어봤었다. (물론 그때는 오류가 나서 성공은 못했다.) 그래서 이번에는 맞춰버리겠다는 생각으로 풀어봤다. dp 문제였는데 거쳐간 숫자의..

알고리즘 2020.04.12

프로그래머스 - 큰 수 만들기

문제 설명 어떤 숫자에서 k개의 수를 제거했을 때 얻을 수 있는 가장 큰 숫자를 구하려 합니다. 예를 들어, 숫자 1924에서 수 두 개를 제거하면 [19, 12, 14, 92, 94, 24] 를 만들 수 있습니다. 이 중 가장 큰 숫자는 94 입니다. 문자열 형식으로 숫자 number와 제거할 수의 개수 k가 solution 함수의 매개변수로 주어집니다. number에서 k 개의 수를 제거했을 때 만들 수 있는 수 중 가장 큰 숫자를 문자열 형태로 return 하도록 solution 함수를 완성하세요. 제한 조건 number는 1자리 이상, 1,000,000자리 이하인 숫자입니다. k는 1 이상 number의 자릿수 미만인 자연수입니다. 문제 설명과 제한 조건은 위와 같다. 입출력 예는 이렇다. 처음에..

알고리즘 2020.04.12

인터페이스와 추상클래스 설명 및 차이점

프로젝트를 하다가 한번쯤 써봤던 인터페이스와 추상클래스지만 항상 비슷한거 같은데..? 라고만 생각하고 제대로 된 차이를 알아본 적이 없었던 것 같아서 이번 기회에 정리를 해보려고 합니다. 먼저 각자 어떤 특징을 가지고 있는지 간단히 알아봅시다. 1. 특징 - 추상클래스(Abstract Class) 특징 클래스는 크게 일반 클래스와 추상 클래스로 나눌 수 있습니다. 그 중에서 추상 클래스는 클래스 내부에 '추상 메소드'가 하나 이상 포함되거나 abstract 로 정의된 경우를 의미합니다. 또한 다른 클래스들처럼 생성자, 필드 , 일반메소드도 포함 할 수 있습니다. - 인터페이스(Interface) 특징 인터페이스는 모든 메소드가 추상 메소드로 가지고 있습니다. 또한 상수를 가질 수 있습니다. (자바8에서는..

Java 2020.04.11