moonscode 236

문제 // Programmers // LEVEL1 // Array // 나누어 떨어지는 숫자 배열 // Java

프로그래머스나누어 떨어지는 숫자 배열업데이트 :: 2018.09.11 프로그래머스나누어 떨어지는 숫자 배열문제코드예제문제array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다. 정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다. array는 길이 1 이상인 배열입니다. 코드1차풀이public int[] solution(int[] arr, int divisor) { // arr - 중복없는 자연수 // arr length - 1..

문제 // Programmers // LEVEL1 // Array // 같은 숫자는 싫어 // Java

프로그래머스같은 숫자는 싫어업데이트 :: 2018.09.11 프로그래머스같은 숫자는 싫어문제코드문제배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 배열 arr에서 제거 되고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를들면 arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고..

문제 // Programmers // LEVEL1 // String // 가운데 글자 가져오기 // Java

프로그래머스가운데 글자 가져오기업데이트 :: 2018.09.11 프로그래머스가운데 글자 가져오기문제코드예제문제문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 코드1차풀이package algorithm.programmers; public class Programmers_2 { public String solution(String s) { // 가운데 글자반환 // abcde(5) c // qwer(4) we String target = s; String answer; int lengthOfTarget = target.length(); int halfOfL..

문제 // Programmers // LEVEL1 // Date // 2016년 // Java

프로그래머스2016년업데이트 :: 2018.09.11 프로그래머스2016년문제코드예제결과학습문제2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요. 제한 조건 2016년은 윤년입니다. 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 코드1차풀이class Solution { public String solution(i..

문제 // Codility // Stacks and Queues // Brackets

업데이트 :: 2018.08.23 문제코드결과문제Stacks and Queues > Brackets Determine whether a given string of parentheses (multiple types) is properly nested. 코드1차 풀이import java.util.*; class Solution { public int solution(String S) { if(S.equals("")) return 1; int count = 0; int flag = 0; // () 0, {} 1, [] 2 Stack stack = new Stack(); for(int i=0; i 0) { if(stack.pop() != 0) return 0; } else return 0; break; cas..

CS/코딜리티 2018.08.23

학습 // Spring // Security // Architecture

업데이트 :: 2018.08.22 스프링 시큐리티 모듈프레임워크 아키텍처스프링 시큐리티 모듈spring-security-core인증과 인가기능을 구현하기위한 핵심기능spring-security-web웹 애플리케이션의 보안 기능을 구현하기 위한 컴포넌트로 구성spring-security-config모듈에서 제공하는 컴포넌트의 설정을 지원하기 위한 컴포넌트로 구성spring-security-taglibs인증정보나 인가정보를 사용하기 위한 JSP 태그라이브러리spring-security-oauth2OAuth2를 사용해 인가기능을 구현하기 위한 모듈추가기능일반적인 인증방법(LDAP, OpenID, CAS 등등)을 지원하기 위한 모듈ACL(Access Control List)을 사용한 도메인 객체의 인가를 제어하..

Spring/Security 2018.08.22

학습 // Spring // Security

업데이트 :: 2018.08.22 스프링 시큐리티특징기본 보안기능강화 보안기능스프링 시큐리티애플리케이션에 보안기능을 구현할때 사용하는 프레임워크서블릿 컨테이너에 배포하는 웹 애플리케이션의 보안 기능 구현에서 많이 사용특징다양한 옵션기본 구현 클래스의 동작 방식을 커스텀할 수 있는 다양한 옵션 제공기본 동작 방식이 보안 요구사항에 부합하지 않으면 옵션 값을 변경해서 요구사항 충족가능다양한 확장점동작 방식을 커스텀할 수 있는 다양한 확장점 제공기본 동작 방식이 보안 요구사항에 부합하지 않으면 확장 클래스를 만드는 방법으로 충족가능기본 보안기능인증 기능 (Authentication)애플리케이션 사용자의 정당성을 확인인가 기능 (Authorization) -> 자원에 대한 권한 처리애플리케이션 리소스나 처리에 ..

Spring/Security 2018.08.22

학습 // Spring // MVC // Test

업데이트 :: 2018.08.22 스프링 MVC 테스트MockMvcMockMvc 란MockMvc 설정테스트 실행요청 데이터 설정실행 결과 검증실행 결과 출력스프링 MVC 테스트스프링 MVC 컨트롤러의 테스트컨트롤러의 주요역할은 다양컨트롤러의 주요역할요청 경로처리내용의 매핑입력값 검사요청한 데이터의 취득비즈니스 로직 호출다음 이동 화면의 제어정작 컨트롤러 자체에는 단위 테스트가 필요할 만한 비즈니스 로직이 존재하지 않음스프링 MVC의 프레임워크 기능까지 통합된 상태인 통합 테스트의 관점으로 봐야함통합한 상태에서 컨트롤러 테스트E2E(End to End)로 테스트뷰가 생성한 응답 데이터(HTML)의 유효성을 검증할 수 있다는 장점단점애플리케이션이나 데이터베이스를 반드시 기동트랜잭션이 커밋되기 떄문에 테스트를..

Spring/MVC 2018.08.22

학습 // Spring // JDBC // Test

업데이트 :: 2018.08.22 데이터베이스 테스트테스트 데이터소스 설정테스트 데이터 적재테스트 트랜잭션 제어테스트 데이터 검증데이터베이스 테스트테스트 데이터소스 설정테스트 데이터 적재테스트 케이스용 트랜잭션 제어데이터 검증테스트 데이터소스 설정일반적인 웹 애플리케이션에서는 애플리케이션 서버에서 관리하는 데이터 소스를 JNDI를 통해 가져옴JNDI : 디렉터리 서비스에서 제공하는 데이터 및 객체를 발견하고 참고하기 위한 자바 API다.JUnit을 실행할때 그대로 이용시에 오류 발생일반적으로 사용하는 데이터소의@Bean public DataSource dataSource() throws NamingException { JndiTemplate jndiTemplate = new JndiTemplate(); ..

Spring/JDBC 2018.08.22