본문 바로가기

코딜리티

(2)
[Codility] Distinct - 특정 배열에 포함된 모든 숫자의 종류 수 구하기 주어진 배열을 읽어 배열을 구성하고 있는 정수의 개수를 구해 return 하는것이 문제이다. 배열을 읽으면서 선언해 준 ArrayList에 동일한 원소가 있는지 검사, 없으면 add로 추가. 최종으로 원소를 추가한 ArrayList의 최종 사이즈를 size()로 return 하면 완료. 아래 코드 부문은 inteliJ에서의 실행, 출력을 위해 코딜리티 코드와 다른 부분이 있음. 시간복잡도는 O(N**2). 언제쯤 Performance까지 점수를 딸 수 있는 코드를 짤 수 있을지..
[Codility] LongestPassword - java.util.regex 를 활용해 조건을 만족하는 문자열 걸러내기 코딜리티에서 Indeed Prime 2015 Challenge 항목에 포함된 Task이다. 문제는 주어진 문자열에서 띄어쓰기로 분간된 암호들 중 주어진 조건을 만족하는 가장 긴 암호의 길이를 return하는 것이다. 암호의 조건은 숫자를 무조건 포함하며 홀수 개의 숫자만을 가지고, 짝수 개의 문자만을 가질 수 있다. 입력 된 문자열에서 유효한 암호가 존재하지 않을 때에는 -1을 return 해주어야 한다. InteliJ에서 실행 및 출력을 위해 직접 문자열을 정의해주었고 return 값을 return하지 않고 sout으로 출력하도록 하였다. 처음에 아 드디어 됬다고 하다가 점수가 10점밖에 안나와서 뭐가 문제일까 하다가.. 문자와 숫자에 걸린 홀수개 혹은 짝수개의 조건이 있던 것을 나중에 알았다. 여기에..