목록CodingTest/programmers (96)
기억은 짧고 기록은 길다

Link 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr Solution 해당 문제는 인덱싱의 개념에 대해 잘 알고 있다면 쉽게 해결할 수 있는 문제이다. for문의 range를 range(len(arr))로 설정하면 if의 비교문에서 arr범위를 초과하기 때문에 len(arr) - 1을 해주었다. 해당 for문으로 인해 len(arr) - 1 인덱스는 if문을 거치지 못하지만 len(arr) - 2의 인덱스가 len(arr) - 1 인덱스의 수와 같을 경우 추가가 되지 않고 다를 ..

Link 코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. programmers.co.kr Solution def solution(x, n): return [x * i for i in range(1, n + 1)] 🔑 key point: range() Other Solution def number_generator(x, n): return [i for i in range(x, x * n + 1, x)]

Link 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr Solution def solution(s): l = len(s) if l % 2 == 0: return s[l // 2 - 1 : l // 2 + 1] else: return s[l // 2] 🔑 key point: Indexing Other Solution def solution(str): return str[(len(str) - 1) // 2 : len(str) // 2 + 1]

Link 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr Solution def solution(a, b): weekday = ['SUN', 'MON', 'TUE', 'WED', 'THU', 'FRI', 'SAT'] month = [31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31] count = b - 1 for m in range(a - 1): count += month[m] return weekday[count % 7 - 2] # ..

Link 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr Solution def solution(d, budget): answer = 0 d.sort() temp = 0 for i in range(len(d)): temp += d[i] if temp > budget: break answer += 1 return answer 🔑 key point: Greedy Algorithm 📌 Tip: sort(), sorted() Other Solution def solution(d, budget): d.sort() whil..

Link 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr Solution def solution(a, b): return sum(range(min(a, b), max(a, b) + 1)) 🔑 key point: min(), max() 📌 Tip: sum()