반응형

SW/알고리즘 52

Codility란 무엇이며, 기업들은 어떻게 최대한 활용할까요?

Codility는 코더의 스킬 셋을 테스트하기 위한 플랫폼입니다. 테스트를 통해 채용 프로세스 중에 코더에게 기술 화면을 제공 할 수 있습니다. 아마도 가장 큰 장점은 테스트가 자동으로 제공되고 점수가 매겨져 기술이 아닌 채용 담당자가 전 세계의 후보자를 관리 할 수 ​​있다는 것입니다. 알고리즘 테스트에 관한 것은 매우 좁은 기술 세트를 테스트한다는 것입니다. 대부분의 경우, 소프트웨어 개발자는 알고리즘을 작성하는 데 많은 시간을 소비하지 않습니다. 기존 라이브러리의 알고리즘을 활용하면서 더 높은 수준의 문제에 중점을 둡니다. 이로 인해 개발 프로세스는 더 빠르고 버그가 덜 발생합니다. 따라서 코딜리티 테스트는 응시자가 응용 프로그램의 기본 빌드 블록을 구축 할 수 있는지 확인하는 데 유용합니다. 문제..

SW/알고리즘 2019.11.01

파이썬 : 프로그래머스 : 시저 암호 : 풀이

코드 upper = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' lower = upper.lower() def solution(s, n): for idx, char in enumerate(s): if char in upper: tIdx = (upper.index(char) + n) % 26 s = s[0:idx] + upper[tIdx] + s[idx+1:] elif char in lower: tIdx = (lower.index(char) + n) % 26 s = s[0:idx] + lower[tIdx] + s[idx+1:] return s 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.05ms, 10.8MB) 테스트 2 〉 통과 (0.05ms, 10.7MB) 테스트 3 〉 통과 (0.05ms..

SW/알고리즘 2019.10.04

파이썬 : 프로그래머스 : 약수의 합 : 풀이

코드 def solution(n): answer = 0 for i in range(1, n+1): if n % i == 0: answer += i return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.7MB) 테스트 2 〉 통과 (0.04ms, 10.8MB) 테스트 3 〉 통과 (0.08ms, 10.8MB) 테스트 4 〉 통과 (0.05ms, 10.8MB) 테스트 5 〉 통과 (0.11ms, 10.7MB) 테스트 6 〉 통과 (0.07ms, 10.7MB) 테스트 7 〉 통과 (0.15ms, 10.8MB) 테스트 8 〉 통과 (0.06ms, 10.7MB) 테스트 9 〉 통과 (0.13ms, 10.7MB) 테스트 10 〉 통과 (0.16ms, 10.6MB) 테스트 11 ..

SW/알고리즘 2019.10.02

파이썬 : 프로그래머스 : 이상한 문자 만들기 : 풀이

코드 def solution(s): answer = "" counter = 0 for i in range(len(s)): if s[i] == " ": counter = 0 answer += " " elif counter % 2 == 0: answer +=s[i].upper() counter +=1 elif counter % 2 == 1: answer += s[i].lower() counter +=1 return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.6MB) 테스트 2 〉 통과 (0.04ms, 10.7MB) 테스트 3 〉 통과 (0.04ms, 10.7MB) 테스트 4 〉 통과 (0.07ms, 10.7MB) 테스트 5 〉 통과 (0.05ms, 10.7MB) 테스트 6..

SW/알고리즘 2019.09.30

파이썬 : 프로그래머스 : 정수 내림차순으로 배치하기 : 풀이

코드 def solution(n): answer = 0 num_list = [] n_str = str(n) for i in range(len(n_str)): num_list.append(int(n_str[i])) num_list.sort(reverse=True) for i in num_list: answer = answer*10 + i return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.06ms, 10.8MB) 테스트 2 〉 통과 (0.06ms, 10.9MB) 테스트 3 〉 통과 (0.07ms, 10.8MB) 테스트 4 〉 통과 (0.06ms, 10.8MB) 테스트 5 〉 통과 (0.06ms, 10.8MB) 테스트 6 〉 통과 (0.06ms, 10.9MB) 테스트 7 〉 통과 (0..

SW/알고리즘 2019.09.29

파이썬 : 프로그래머스 : 최대공약수와 최소공배수 : 풀이

코드 def fun1(n, m): ret_val = 0 for i in range(1, min(n,m) + 1): if n % i == 0 and m % i == 0: ret_val = i return ret_val def fun2(n, m): for i in range(max(n,m), n*m + 1): if i % n == 0 and i % m == 0: return i def solution(n, m): return [fun1(n,m), fun2(n,m)] 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.05ms, 10.6MB) 테스트 2 〉 통과 (0.10ms, 10.7MB) 테스트 3 〉 통과 (0.05ms, 10.7MB) 테스트 4 〉 통과 (0.06ms, 10.6MB) 테스트 5 〉 통과 ..

SW/알고리즘 2019.09.28

파이썬 : 프로그래머스 : 제일 작은 수 제거하기 : 풀이

코드 def solution(arr): minVal = min(arr) arr.remove(minVal) if len(arr) == 0: arr.append(-1) return arr 실행 결과 정확성 테스트 테스트 1 〉 통과 (1.55ms, 69.9MB) 테스트 2 〉 통과 (0.05ms, 10.7MB) 테스트 3 〉 통과 (0.06ms, 10.9MB) 테스트 4 〉 통과 (0.05ms, 10.8MB) 테스트 5 〉 통과 (0.05ms, 10.6MB) 테스트 6 〉 통과 (0.07ms, 10.7MB) 테스트 7 〉 통과 (0.07ms, 10.9MB) 테스트 8 〉 통과 (0.04ms, 10.7MB) 테스트 9 〉 통과 (0.04ms, 10.5MB) 테스트 10 〉 통과 (0.04ms, 10.7MB) ..

SW/알고리즘 2019.09.27

파이썬 : 프로그래머스 : 정수 제곱근 판별 : 풀이

코드 import math def solution(n): answer = math.pow(math.pow(n, 0.5) + 1, 2) if answer - int(answer) == 0: return int(answer) else: return -1 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.06ms, 10.8MB) 테스트 2 〉 통과 (0.07ms, 10.8MB) 테스트 3 〉 통과 (0.06ms, 10.7MB) 테스트 4 〉 통과 (0.06ms, 10.8MB) 테스트 5 〉 통과 (0.05ms, 10.8MB) 테스트 6 〉 통과 (0.06ms, 10.7MB) 테스트 7 〉 통과 (0.06ms, 10.8MB) 테스트 8 〉 통과 (0.06ms, 10.8MB) 테스트 9 〉 통과 (0.05ms, ..

SW/알고리즘 2019.09.26

파이썬 : 프로그래머스 : 자연수 뒤집어 배열로 만들기 : 풀이

풀이 def solution(n): answer = [] while n > 0: answer.append(n%10) n = int(n / 10) return answer 코드 정확성 테스트 테스트 1 〉 통과 (0.05ms, 10.5MB) 테스트 2 〉 통과 (0.06ms, 10.7MB) 테스트 3 〉 통과 (0.04ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.8MB) 테스트 5 〉 통과 (0.04ms, 10.6MB) 테스트 6 〉 통과 (0.04ms, 10.7MB) 테스트 7 〉 통과 (0.04ms, 10.7MB) 테스트 8 〉 통과 (0.05ms, 10.5MB) 테스트 9 〉 통과 (0.04ms, 10.6MB) 테스트 10 〉 통과 (0.05ms, 10.7MB) 테스트 11 〉 통과..

SW/알고리즘 2019.09.25

파이썬 : 프로그래머스 : 자릿수 더하기 : 풀이

코드 def solution(n): answer = 0 n_str = str(n) for i in range(len(n_str)): answer += int(n_str[i]) return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.06ms, 10.8MB) 테스트 2 〉 통과 (0.06ms, 10.9MB) 테스트 3 〉 통과 (0.06ms, 10.8MB) 테스트 4 〉 통과 (0.05ms, 10.9MB) 테스트 5 〉 통과 (0.06ms, 10.8MB) 테스트 6 〉 통과 (0.06ms, 10.9MB) 테스트 7 〉 통과 (0.09ms, 10.8MB) 테스트 8 〉 통과 (0.06ms, 10.7MB) 테스트 9 〉 통과 (0.05ms, 10.8MB) 테스트 10 〉 통과 (0.06ms,..

SW/알고리즘 2019.09.24

파이썬 : 프로그래머스 : 가장 긴 팰린드롬 : 풀이

풀이 def isPalindrome(s, start, end): diff = int((end - start + 1) / 2 - 1) for i in range(diff + 1): c1 = s[start + i] c2 = s[end - i]; if c1 != c2: return False return True def solution(s): for answer in range(len(s),0,-1): start = 0 end = 0 + answer - 1 while end < len(s): if isPalindrome(s, start, end): return answer; start += 1 end += 1 return 1 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.05ms, 10.8MB) 테스트 2..

SW/알고리즘 2019.09.23

파이썬 : 프로그래머스 : 타일 장식물 : 풀이

풀이 def solution(N): if N == 1: return 4 elif N == 2: return 6 tile_list = [1, 1] for i in range(2, N): tile_list.append( tile_list[i-2] + tile_list[i-1]) tile_list.pop(0) answer = 4 for i in tile_list: answer += i * 2 return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.7MB) 테스트 2 〉 통과 (0.03ms, 10.7MB) 테스트 3 〉 통과 (0.04ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.7MB) 테스트 5 〉 통과 (0.04ms, 10.7MB) 테스트 6 〉 통과 (..

SW/알고리즘 2019.09.22

파이썬 : 프로그래머스 : 2 x n 타일링 : 풀이

풀이 def solution(n): answer = 0 if n == 1: return 1 elif n == 2: return 2 else: answer_list = [0,1,2] for i in range(3, n+2): answer_list.append((answer_list[i-1] + answer_list[i-2])% 1000000007) return answer_list[i-1] return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (1.52ms, 10.8MB) 테스트 2 〉 통과 (0.32ms, 10.9MB) 테스트 3 〉 통과 (1.09ms, 10.8MB) 테스트 4 〉 통과 (1.99ms, 10.7MB) 테스트 5 〉 통과 (0.26ms, 10.7MB) 테스트 6 〉 통과 ..

SW/알고리즘 2019.09.21

파이썬 : 프로그래머스 : 콜라츠 추측 : 풀이

코드 def solution(num): answer = 0 while num != 1: if answer == 500: return -1 if num%2 == 0: num = num / 2 else: num = num * 3 + 1 answer += 1 return answer 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.08ms, 10.6MB) 테스트 2 〉 통과 (0.09ms, 10.7MB) 테스트 3 〉 통과 (0.09ms, 10.8MB) 테스트 4 〉 통과 (0.07ms, 10.7MB) 테스트 5 〉 통과 (0.16ms, 10.6MB) 테스트 6 〉 통과 (0.07ms, 10.7MB) 테스트 7 〉 통과 (0.17ms, 10.7MB) 테스트 8 〉 통과 (0.07ms, 10.7MB) 테스트 ..

SW/알고리즘 2019.09.20

파이썬 : 프로그래머스 : 하샤드 수 : 풀이

코드 def fun(x): num = 0 while x > 0: num += x % 10 x = int(x / 10) return num def solution(x): print(fun(x)) if x % fun(x) == 0: return True else: return False 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.05ms, 10.8MB) 테스트 2 〉 통과 (0.04ms, 10.7MB) 테스트 3 〉 통과 (0.04ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.7MB) 테스트 5 〉 통과 (0.04ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.8MB) 테스트 7 〉 통과 (0.04ms, 10.7MB) 테스트 8 〉 통과 (0.05ms, 10.7MB) 테..

SW/알고리즘 2019.09.19

파이썬 : 프로그래머스 : 평균 구하기 : 풀이

코드 def solution(arr): answer = 0 for i in arr: answer += i return answer / len(arr) 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.7MB) 테스트 2 〉 통과 (0.04ms, 10.8MB) 테스트 3 〉 통과 (0.04ms, 10.7MB) 테스트 4 〉 통과 (0.04ms, 10.6MB) 테스트 5 〉 통과 (0.04ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.7MB) 테스트 7 〉 통과 (0.04ms, 10.7MB) 테스트 8 〉 통과 (0.04ms, 10.8MB) 테스트 9 〉 통과 (0.04ms, 10.7MB) 테스트 10 〉 통과 (0.04ms, 10.6MB) 테스트 11 〉 통과 (0.04ms..

SW/알고리즘 2019.09.17

파이썬 : 프로그래머스 : 행렬의 덧셈 : 풀이

코드 def solution(arr1, arr2): for i in range(len(arr1)): for j in range(len(arr1[i])): arr1[i][j] += arr2[i][j] return arr1 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.6MB) 테스트 2 〉 통과 (0.13ms, 10.7MB) 테스트 3 〉 통과 (0.29ms, 11.6MB) 테스트 4 〉 통과 (0.16ms, 10.9MB) 테스트 5 〉 통과 (0.09ms, 10.7MB) 테스트 6 〉 통과 (0.16ms, 11MB) 테스트 7 〉 통과 (0.05ms, 10.7MB) 테스트 8 〉 통과 (0.11ms, 10.8MB) 테스트 9 〉 통과 (0.93ms, 26.7MB) 테스트 10 〉 통과..

SW/알고리즘 2019.09.16

파이썬 : 프로그래머스 : 핸드폰 번호 가리기 : 풀이

풀이 def solution(phone_number): return "*" * (len(phone_number) - 4) + phone_number[-4:] 실행 결과 정확성 테스트 테스트 1 〉 통과 (0.04ms, 10.8MB) 테스트 2 〉 통과 (0.04ms, 10.8MB) 테스트 3 〉 통과 (0.03ms, 10.6MB) 테스트 4 〉 통과 (0.03ms, 10.6MB) 테스트 5 〉 통과 (0.04ms, 10.7MB) 테스트 6 〉 통과 (0.04ms, 10.7MB) 테스트 7 〉 통과 (0.04ms, 10.7MB) 테스트 8 〉 통과 (0.04ms, 10.8MB) 테스트 9 〉 통과 (0.03ms, 10.6MB) 테스트 10 〉 통과 (0.04ms, 10.7MB) 테스트 11 〉 통과 (0...

SW/알고리즘 2019.09.12
반응형