분류 전체보기

Algorithm/problem solving

Today's Algorithm(2019-01-17)

programmers. 도둑질 동적계획법 문제는 정말 동적계획법답게 풀지 않으면 시간 초과나 메모리 초과가 발생하는데 이 때문에 많은 고생을 했습니다. 처음엔 머리에 떠오르는대로 재귀로 풀었는데요. 모든 경우의 수를 다 돌다보니 역시나 시간초과부터 발생하더라구요. 그리고 이후엔 학교에서 배운대로 배낭문제나 최소 잔돈개수 문제처럼 표를 떠올리며 구현하였습니다. 여기서 정확성 테스트에서 시간 초과는 극복할 수 있었지만 효율성 테스트에서 시간 초과 및 메모리 초과가 발생하여 이 또한 통과하지 못하였습니다. 우선 메모리초과가 발생한 이유는 array[length][length] 로 만들었기 때문인데요. 다른 사람의 코드를 참고하면서 굳이 저렇게 배열을 모두 만들지 않더라도 해결할 수 있음을 알게되었습니다. 두 ..

TIL

Today's Dev Notes(2019-01-16)

이슈관리시스템 - 셀프 체크 리스트 체크 리스트 따라하기 식의 동영상을 참고하지 않고 CRUD 기본 기능을 구현할 수 있는가? 따라하기 식의 동영상을 참고하지 않고 로그인 기능을 구현할 수 있는가? 따라하기 식의 동여상을 참고하지 않고 객체 간의 관계를 매핑하고 구현할 수 있는가? 날짜 데이터를 처리하고 관리할 수 있는가? nginx를 설치하고 tomcat을 연결해 서비스할 수 있는가? 따라하기 식의 동영상을 참고하지 않고 Restful API를 구현할 수 있는가? AJAX와 Restful API를 활용해 기능을 구현할 수 있는가? 파일 첨부 기능을 구현할 수 있는가? 파일 첨부 기능을 구현할 때 파일을 업로드할 경로를 application.properties에서 관리하도록 구현할 수 있는가? 파일 첨부..

TIL

Today's Dev Notes(2019-01-15)

Today's Dev Notes(2019-01-15) 안녕하세요, Brad입니다. 오늘 공부한 내용 정리해볼게요. '응답없음' 이슈 해결방법 서버의 인스턴스를 시작하고 계속 해당 HTTP 포트로 접속하였을 때 '응답없음' 반응이 나타났습니다. 처음에는 제가 서버쪽을 만지다가 설정을 잘못하여 그렇게 된줄 알고 서버 내에 설정파일들을 살펴보았는데요(어차피 잘 모르지만..) 그러다가 아마존 EC2 Securtiy Group설정이 잘못되었을 수 있다는 생각이 들었습니다. 이전에 저는 HTTP 포트가 다음과 같이 설정되어 있었습니다. 그런데 이렇게 설정하면 안되더라구요. 다음과 같이 설정해야합니다. jar파일 실행시킬 때 포트 설정하기 이전에 실습을 하면서 jar파일 실행시킬 때 포트 설정을 했었는데요. 이번에 ..

Algorithm/problem solving

Today's Algorithm(2019-01-15)

programmers. 단속카메라 또 탐욕법이라 생각하니 자연스럽게 큰 것을 먼저 처리해야 한다는 생각이 들었고 이번 문제의 경우 길이가 가장 크거나 작은 순으로 하여 각각의 경우 체크하도록 문제를 풀었습니다. 구체적으로 먼저 길이로 정렬을 하였고, 해당 길이 내에서 for문을 돌면서 어느 지점에 단속카메라를 설치하였을 때 가장 겹치는 지점을 찾았고, 그 겹치는 지점에 속하는 구간을 빼내면서 결국 카메라가 몇 개가 필요한 것인지 찾아나갔습니다. 이렇게 하였을 때 정확성에는 문제가 없었지만 역시나 복잡도 때문에 시간초과가 발생하였습니다. 결국 다른 방법을 찾아야했습니다. 결국 길이가 중요한 것이 아니었습니다. 진입점과 진출점만 알면 위와 같은 복잡도 없이 쉽게 풀 수 있거든요. 우선 객체를 하나 만들었는데..

Algorithm/problem solving

Today's Algorithm(2019-01-14)

programmers. 숫자 야구 코드스쿼트라는 교육기관에 들어오기 전에 레벨 테스트로 숫자 야구를 구현했었는데요. 그렇다보니 이 문제가 참 낮설지 않았습니다. 이 문제에서 제가 생각하는 포인트는 2가지 입니다. 비교대상 숫자를 선정하는 방법 비교대상 숫자와 비교하여 스트라이크, 볼 판별 우선 '비교대상 숫자를 선정하는 방법'은 3자리 수를 만들기 위해 for문 3번을 쓸 수도 있겠지만 저는 그렇게는 하기 싫더라구요. 그래서 111~999까지 돌리는 방법을 정했는데요. 그렇게 하다보면 의도하지 않은 수(중복된 수가 존재하는 수, 0이 포함되는 수)가 나오게 됩니다. 그 경우는 Set 를 사용하여 0이 포함되지 않으면서도 중복된 수를 걸려낼 수 있었습니다. 그리고 비교를 하는 경우는 뭐 다를..

TIL

Today's Dev Notes(2019-01-14)

안녕하세요, Brad입니다. 오늘 공부한 것 정리해볼게요. Q & A 기본키 설정 관련 기본키 설계의 중요성 Entity의 @Id 가 반드시 Long 타입으로 설정되는 것은 아닙니다. Primary키로 사용하기로 했다면 그 키는 절대 바뀌는 일이 없는 것으로 생각해야합니다. 왜냐하면 변경시 엄청나게 많은 곳에서 바꿔줘야하는 곳이 많기 때문입니다. 데이터는 한번 쌓기 시작하면 변경이 힘들기 때문에 기본키를 무엇으로 설정하는지가 정말 중요합니다. PK를 순차적으로 구현하는 것이 좋다? 보안적으로 PK을 노출하는 것이 좋지 않겠다고 판단할 때는 Random값으로 PK를 부여할 수도 있습니다. Romdom값 생성하는 것은 JPA에서 해주는 것을 사용할 수도 있지만 별도로 클래스를 만들어서 그곳에서 생성하는 값으..

Brad Lee
'분류 전체보기' 카테고리의 글 목록 (11 Page)