목록분류 전체보기 (214)
NIRVANA
문제 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 문제 풀이 접근법1 1) 반복문으로 n만큼 반복하며 리스트에 '수' or '박'을 추가한다. 2) 이때, (for문을 기준으로) i가 짝수이면 리스트에 '수'를, i가 홀수이면 리스트에 '박'을 추가한다. 3) 리스트를 str로 변환한 뒤 반환한다. def solution(n): answer = [] for i in range(n): if i % 2 == 0: answer.append('수') else: answer.append('박') arr = ''.join(answer) return arr 다..
문제 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 문제 풀이 접근법1 1) String s를 list로 변환 2) list의 길이 / 2로 중간이 되는 위치 파악 홀수: (list의 길이) // 2 짝수: (list의 길이) //2, (list의 길이 ) // 2 -1 3) 중간이 되는 곳의 글자 반환 홀수: 그냥 반환 짝수: 글자를 list에서 str형으로 바꾼 뒤 반환 def solution(s): answer = '' posi = [] arr = [] arr = list(s) if len(arr) % 2 != 0: posi = len(arr) // 2 answer = arr[posi] else: posi.appe..
문제 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 문제 풀이 접근법 1 1) 리스트 arr의 길이가 1보다 큰지 확인한 뒤, 1보다 작다면 answer에 -1을 추가한다. 2) 반복문에서 원소를 비교하며 min값을 찾는다. 3) 찾은 min값을 remove()를 사용하여 제거한다 4) answer리스트를 반환한다. def solution(arr): answer = [] min = 100 if len(arr)
문제 0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요. 문제 풀이 접근법1 0~9까지를 더한 수 45에 numbers 배열의 원소를 다 더한 수를 빼면 된다. def solution(numbers): answer = 45 - sum(numbers) return answer 처음에는 for문을 사용하려고 했었는데 순간적으로 어 그냥 45에서 빼면 되는거 아니야? 라는 생각이 들어서 진짜 냅다 45에서 sum사용해서 원소를 더한 수를 뺐다 ^~^
문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 문제 풀이 접근법1 1) phone_num을 str형에서 list로 변환한다. 2) for문을 전화번호의 앞 7자리 만큼, 즉 7번 반복하여 앞 자리 7개의 원소를 *로 바꾼다. 3) 다시 phone_num을 list에서 str형으로 변환한다. def solution(phone_number): answer = '' phone =[] phone = list(str(phone_number)) for i in range(len(pho..
문제 어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요. 문제 풀이 접근법1 1) 반복문을 돌면서 absolutes의 원소 중 signs이 false인 수를 음수로 바꾸어준다. 2) sum함수로 absolutes의 각 원소를 더한 뒤 값을 반환한다. def solution(absolutes, signs): answer = 123456789 for i in range(len(absolutes)): if signs[i] == False: absolutes[i] = 0 - absolutes[i] answer..