본문 바로가기

SW/알고리즘

Codility란 무엇이며, 기업들은 어떻게 최대한 활용할까요? Codility는 코더의 스킬 셋을 테스트하기 위한 플랫폼입니다. 테스트를 통해 채용 프로세스 중에 코더에게 기술 화면을 제공 할 수 있습니다. 아마도 가장 큰 장점은 테스트가 자동으로 제공되고 점수가 매겨져 기술이 아닌 채용 담당자가 전 세계의 후보자를 관리 할 수 ​​있다는 것입니다. 알고리즘 테스트에 관한 것은 매우 좁은 기술 세트를 테스트한다는 것입니다. 대부분의 경우, 소프트웨어 개발자는 알고리즘을 작성하는 데 많은 시간을 소비하지 않습니다. 기존 라이브러리의 알고리즘을 활용하면서 더 높은 수준의 문제에 중점을 둡니다. 이로 인해 개발 프로세스는 더 빠르고 버그가 덜 발생합니다. 따라서 코딜리티 테스트는 응시자가 응용 프로그램의 기본 빌드 블록을 구축 할 수 있는지 확인하는 데 유용합니다. 문제..
codility : OddOccurrencesInArray : C++ : 문제풀이 코드 // you can use includes, for example: // #include #include using namespace std; // you can write to stdout for debugging purposes, e.g. // cout
Codility : BinaryGap : C++ : 문제 풀이 풀이 // you can use includes, for example: // #include #include using namespace std; // you can write to stdout for debugging purposes, e.g. // cout
파이썬 : 프로그래머스 : 시저 암호 : 풀이 코드 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..
파이썬 : 프로그래머스 : 약수의 합 : 풀이 코드 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 ..
파이썬 : 프로그래머스 : 이상한 문자 만들기 : 풀이 코드 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..
파이썬 : 프로그래머스 : 정수 내림차순으로 배치하기 : 풀이 코드 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..
파이썬 : 프로그래머스 : 최대공약수와 최소공배수 : 풀이 코드 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 〉 통과 ..