본문 바로가기
  • 실행력이 모든걸 결정한다
반응형

분류 전체보기580

[C/C++] 모든 문자열 대체(replace) 하기 의 find(), replace() 함수를 통해 모든 문자열을 대체할 수 있다. 아래 예제에서는 "1 and 2 and 3 and 4" 라는 문자열에 있는 모든 " and"을 ""로 대체했다. int pos; string target="1 and 2 and 3 and 4"; string pattern=" and"; string replace_str=""; while((pos=target.find(pattern))!=-1) target.replace(pos, pattern.length(), replace_str); cout 2022. 10. 7.
[팀 프로젝트] SQL 교육 사이트 - 20221009 중반 작업 안내 ▣ 1차 작업 역할 분담 결과 팀장 - 학습 페이지 샘플 코드와 Unit 1, 16, 17 - 테스트 채점 Ajax용 컨트롤러 샘플 코드 - 코드 감독 (회의, 중간 검토 등) 우찬* - 로그인 기능 구현 - 학습 페이지 Unit 5, 6, 7, 8 염형* - 버그/자유 게시판 구현 - 학습 페이지 Unit 9, 10, 11, 12 하정* - 학습 페이지 Unit 2, 3, 4, 13, 14, 15 후반 작업은 추후에 배정할 계획 ▣ 작업별 지시사항 학습 페이지 공통 지시 사항 -> 아래에서 따로 언급하지 않은 Unit은 크게 제약 사항이 없습니다. 예제를 만들 때는 /h2-console에서 SQL을 꼭 테스트하세요. 학습 사이트다 보니 부정확한 정보가 있으면 절대 안됩니다. Unit 7 날짜/시간 함수.. 2022. 10. 7.
[Spring] 자바 코드를 이용한 MVC 전략 설정 1. @EnableWebMvc와 WebMvcConfigurer 1) @EnableWebMvc와 WebMvcConfigurer의 관계 - @Configuration 클래스에 @EnableWebMvc를 붙여주는 것만으로 를 xml bean 설정 파일에 넣었을 때와 동일하게 동작한다. 하지만, 기본 설정을 변경하게 된다면 어노테이션 방식이나 xml 방식으로는 설정이 너무 복잡해진다. 그래서 Spring은 자바 코드 방식의 설정을 위한 WebMvcConfigurer를 제공한다. - Spring은 @EnableWebMvc와 같은 @Enable 전용 어노테이션으로 등록되는 인프라 bean에 대한 추가 설정을 위해 컨피규어러(Configurer)라는 설정용 bean을 활용하는 방법을 제공한다. 컨피규어러 bean이 .. 2022. 10. 6.
자바스크립트 10초 타이머 소스 코드 결과물 아래 제출 버튼을 눌러보세요! HTML 삽입 미리보기할 수 없는 소스 소스 코드 제출 + JQuery 코드 var limitTime=10; var timeoutId; var target = $('#timer'); function startTimeout() { target.attr("disabled", true); timeoutId=setInterval(printCurrentDate, 1000); } function printCurrentDate() { if(--limitTime>0) target.val(limitTime+"초 후에 제출 가능합니다."); else { target.val("제출"); clearInterval(timeoutId); limitTime=10; target.attr("dis.. 2022. 10. 5.
[구간합] 파괴되지 않은 건물 - 2022 KAKAO BLIND RECRUITMENT 해결 방법 정확성 테스트라면 어렵지 않게 통과할 수 있을 것이지만, 2차원 누적합 알고리즘을 사용하지 않는다면 효율성 테스트에서 통과하기 힘들 것이다. 필자는 데미지 범위를 나타내는 벡터와 데미지를 나타내는 벡터 총 2개의 벡터를 만들어서 해결했다. 입출력 예 #1를 기반으로 해결 방법을 설명해보겠다. 데미지 범위 벡터(damage_pos) 먼저, 데미지 범위 벡터의 모든 요소는 0으로 초기화해둔다. (r1, c1)부터 (r2, c2)까지 degree 만큼의 공격을 받았다고 해보자. 이 때는 damage_pos의 (r1, c1), (r2+1, c2+1)에는 degree만큼 빼주고, (r1, c2+1), (r2+1, c1)에는 degree만큼 더해준다. 이를 그림으로 나타내면 다음과 같다. 회색 부분은 (.. 2022. 10. 4.
[Spring] @RequestMapping 심화(2) - Spring 3.1의 RequestMapping 전략 [이전 포스팅] @RequestMapping 심화(1) https://kimcoder.tistory.com/513 [Spring] @RequestMapping 심화(1) @RequestMapping은 들어온 요청을 특정 메소드와 매핑하기 위해 사용되는 메소드다. 이번 포스팅에서는 @RequestMapping을 자세하게 알아보자. 1. DefaultAnnotationHandlerMapping - 디폴트 핸들러 매핑 전략으로.. kimcoder.tistory.com 1. RequestMappingHandlerMapping 1) RequestMappingHandlerMapping 소개 - 요청의 처리 단위로 클래스보다 메소드가 선호되기 시작하면서, Spring 3.1에서 DefaultAnnotationHand.. 2022. 10. 3.
[구간합] 두 큐 합 같게 만들기 - 2022 KAKAO TECH INTERNSHIP 해결 방법 입출력 예 #1를 이용하여 해결 방법을 설명해보겠다. 필자는 2개의 큐를 각각 다른 순서로 결합한 2개의 벡터를 만들어놓고 구간합을 이용해서 해결했다. 2개의 결합 벡터를 만든 이유는 모든 구간합을 편하게 계산하기 위함이다. 2개의 결합 벡터는 다음과 같다. 그리고 각 큐의 합은 두 큐의 합의 1/2이어야 하기 때문에 구간합이 15인 구간을 따로 선정했다. 각 결합 벡터에 대한 누적합 벡터를 따로 만들어서 이 누적합 벡터에 투포인트 알고리즘을 적용해서 구간합을 구하는 것이 효율적이다. 이제 특정 구간합만 왼쪽 큐에 모을 수 있게 해보자. 큐의 원소는 한쪽으로만 들어오고 다른 한쪽으로만 나간다는 특성을 이용해서 들어오는 원소의 개수와 나가는 원소의 개수를 합하기만 하면 작업 횟수를 구할 수 있다.. 2022. 9. 30.
[Spring] AnnotationMethodHandlerAdapter의 확장 AnnotationMethodHandlerAdapter은 다양한 관례와 규칙을 이용해 컨트롤러 메소드를 호출해주는 핸들러 어댑터다. 1. WebBindingInitializer - 아래 포스팅의 [3)-(4) WebBindingInitializer]를 참고하길 바란다. https://kimcoder.tistory.com/521 [Spring] 프로퍼티 바인딩 방식(1) - PropertyEditor 프로퍼티 바인딩은 텍스트 형식의 값을 적절한 타입으로 변환해서 객체의 프로퍼티에 넣어주는 것으로, 대표적으로 XML 설정이나 HTTP 요청 파라미터 처리에 필요하다. 여러 개의 포스팅에 걸쳐 S kimcoder.tistory.com 2. HttpMessageConverter - 아래 포스팅을 참고하길 바란다... 2022. 9. 29.
[Spring] MVC 전용 태그 Spring의 @MVC 기능을 손쉽게 등록할 수 있게 해주는 mvc 스키마의 전용 태그들을 알아보자. mvc 전용 태그를 활용하면 xml 설정이 간결해질 것이다. 참고로, 일반적으로 mvc 스키마는 다음과 같이 bean xml 설정에 추가되어 있다. 만약에 /schema/mvc가 없다면 꼭 추가해주자. 1. - 어노테이션 방식의 컨트롤러를 사용할 때 필요한 각 최신 DispatcherServlet 전략에 해당하는 bean들을 자동으로 등록해준다. - 최신 @MVC 지원 기능을 제공하는 bean도 함께 등록되어 전략 bean의 프로퍼티로 설정된다. - 이 태그를 사용하면 DispatcherServlet의 디폴트 전략은 무시된다. 1) 자동 등록 bean - Spring 3.0 기준으로 에 의해 자동으로 등.. 2022. 9. 29.