분류 전체보기
-
[BOJ] 가장 긴 증가하는 수열 (LIS) 시리즈; 그리디, DP, 이진탐색 (JavaScript)Study/OnlineJudges 2021. 3. 11. 19:07
회고 역시나 DP는 점화식이 가장 큰 관건인 것 같다 구현한 코드 자체는 매우 간단하지만 점화식 구하는 것이 어려웠다 점화식을 제대로 못 구하면 몇 시간을 붙잡고 있어도 코드가 산으로 가고 제대로 된 답을 구하기 어려워진다는 걸 다시 한번 느꼈다..😖 문제 풀이 완전 탐색으로 모든 부분 수열을 구하는 방식으로 구현하면 시간복잡도가 O(N^3) ~ O(2^N)까지 증가하기 때문에 매우 비효율적이다 가장 첫번째 문제인 11053번 문제만해도 최대 입력값이 1,000인데, 시간복잡도가 2^1000이 되면 당연히 시간 내 답을 구할 수 없다 최장 증가 부분 수열의 길이; 그리디한 방법 수열의 '길이'만 구하는 경우에는 그리디한 방법으로 해결할 수 있다 최장 길이를 구할 때 실제 부분 수열을 가지고 구하는 것이 ..
-
[BOJ] 1759. 암호 만들기 (JavaScript)Study/OnlineJudges 2021. 3. 10. 17:16
문제 url : https://www.acmicpc.net/problem/1759 회고 기본적인 조합 문제 + 최소/최대/정렬 조건 추가된 유형 조합을 구현할 수 있다면 크게 어려운 문제는 아닌데, 초반에 막 짰다가 시간 초과 에러가 났다 처음 맞은 코드처럼 굳이 자음과 모음을 분리해서 구할 필요는 없었고, 인덱스를 하나씩 증가시키면서 자음일 경우와 모음일 경우에 따라 분기 처리를 하는 것이 메모리도 좀더 적게 차지하고 구현도 편리하다 풀이 코드 처음 맞은 코드 조금더 최적화한 코드
-
[BOJ] 14502. 연구소 (JavaScript)Study/OnlineJudges 2021. 3. 10. 14:21
문제 url: www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 회고 처음 (대충) 봤을때 바이러스 확산으로 공간을 채우는 과정이 있기 때문에 BFS로 풀면 될 것 같았다 그런데 벽 3개를 무조건 세워야 한다는 조건을 보고 DP로 풀어야 하는 건가 싶었다 DP로 풀기에는 점화식을 찾아내기가 너무 어려울 것 같았다 그냥 일단 벽 3개를 brute force로 해보고 최적화를 해보자는 생각으로 구현했는데 그냥 이렇게 하는게 맞았다.. 풀이 과정 벽 3개를 세워야 하기 때문에 ..
-
[자바스크립트 성능 최적화] Ch04. 알고리즘과 흐름 제어Study/BookNotes 2021. 3. 4. 18:29
코드가 작다고 꼭 빠른 것도 아니고, 길다고 꼭 느린 것도 아니다 코드의 전반적인 구조도 실행 속도를 결정하는 주요 요인 중 하나 이 장의 내용들은 JS 뿐만 아니라 다른 언어에서도 종종 사용되는 최적화 기법 루프 프로그래밍 언어 대부분이 코드 실행 시간의 상당 부분을 루프에서 소비함 무한 루프, 오래 지속되는 루프는 성능에 심각한 악영향을 미칠 수 있음 종류 ECMA-262 3판에서는 4가지 타입의 루프를 정의 for-loop 초기화, 실행 조건, 실행 후 코드, 루프 몸체로 구성 초기화 부분 변수는 루프 레벨이 아니라 함수 레벨임에 유의 루프 몸체는 캡슐화됨 for (var i=0; i < num; i++) { // loop 몸체 } while-loop 실행 조건, 루프 몸체로 구성된 검사 후 루프(..
-
[자바스크립트 성능 최적화] 내용 정리 시작!Study/BookNotes 2021. 3. 3. 20:39
intro 공공 도서관에서 JS 관련 도서 중 성능 최적화 관련도서는 정말 찾아보기 힘들다. 서울교육청 도서관 통합검색에서 웹/자바스크립트 최적화를 검색하면 그나마 작년 말 출판된 이라는 책이 있긴 하지만, 현재로서는 모두 대출 중이다ㅠ (용산도서관에 바로 희망도서 신청 넣었고.. 다음 달에 오면 봐야지..) 이 책은 2010년 초판, 국내에는 2011년 번역된 책이라, 처음엔 10년도 더 된 내용인데 뭐 볼게 있을까 싶었다 대충 책을 넘겨 보는데 알아두면 좋은 내용들이 꽤 있는 것 같아 정리하며 제대로(?) 보기로 했다 절판된 책(!)이라 저작권 문제도 좀더 자유롭지 않을까 싶다 최신 코드로도 테스트해보면서 블로그로 공유할 예정이다 공식 홈페이지: 자바스크립트 성능 최적화(High Performance..
-
Tue/Feb/24 [JavaScript/jQuery] Day39. JavaScript, jQuery 기초Study/2020 국비교육_Java 2020. 2. 25. 09:14
0 1 2 3 * 미디어 쿼리 : 실행된 미디어의 디바이스 종류를 알아내는 쿼리 Contains (특정 선택기 필터 적용) contains(text) : 지정한 텍스트 포함하는 요소들과 일치 여부 Chain : method chain nth-child(index/even/odd) : 자식 중 index 로 지정된 first-child last-child only-child DOM 접근방법 Bind : method로 동적 이벤트 부여 위의 코드와 아래 코드와 동일한 내용이지만, 가독성은 아래 코드가 훨씬 좋다 bind 함수 없이 변수명에 바로 event를 걸어도 가능하지만, 추후에 이벤트 해제를 위한 unbind 코드를 설정하기 위해 사용함 Style 관련 함수 css() : 일치된 요소의 스타일 속성 반..
-
[Spring F/W] 온라인 무료 강의 모음Study/Online Lectures 2020. 2. 24. 19:07
[ T아카데미 ] Spring Framework Basic https://www.youtube.com/playlist?list=PL9mhQYIlKEhfYqQ-UkO2pe2suSx9IoFT2 Spring Framework Basic | T아카데미 - YouTube T아카데미 온라인 강의 - Spring Framework Basic (총28강) https://tacademy.skplanet.com [과정 소개] Java 플랫폼을 위한 Open Source 애플리케이션 프레임워크인 Spring의 개념과 사용법을 다루는 교육으로, 동적인 웹사이트... www.youtube.com 신입SW인력을 위한 실전 Java-JSP-Spring 강좌 https://www.youtube.com/playlist?list=PLi..
-
Mon/Feb/24 [Java/Spring/myBatis] Day38. myBatis 활용 게시판Study/2020 국비교육_Java 2020. 2. 24. 08:53
Mon/Feb/24 [Java/Spring/myBatis] Day38. myBatis 활용 게시판 전체 코드 : https://github.com/ezerwi/lecture0224_myBatis ezerwi/lecture0224_myBatis lecture0224_myBatis. Contribute to ezerwi/lecture0224_myBatis development by creating an account on GitHub. github.com * 관습적으로 spring의 xml 파일명은 모두 소문자, 언더바_대신에 대시- 사용 * Spring 사용 방식 순수 eclipse + library 추가 순수 eclipse에 STS 설치 ; 여기에 mybatis 플러그인 설치 가능 STS 설치된 ecli..
-
Fri/Feb/21 [Java/Spring] Day37. Spring 기초(2)Study/2020 국비교육_Java 2020. 2. 21. 11:41
Fri/Feb/21 [Java/Spring] Day37. Spring 기초(2) Spring 기본 게시판 이어서.. 완성 코드 전체 : https://github.com/ezerwi/lecture0220_spring ezerwi/lecture0220_spring lecture0220~0221 Spring 활용 기본 게시판. Contribute to ezerwi/lecture0220_spring development by creating an account on GitHub. github.com board-servlet.xml > writeui.do 추가 화면만 전환시킬 경우에는 Spring이 제공해주는 class를 그대로 갖다 쓰면됨 별도의 Controller 만들 필요 없이! bean name / pr..