알고리즘/프로그래머스

    [Level1] 이상한 문자 만들기

    programmers.co.kr/learn/courses/30/lessons/12930 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 내 풀이 def solution(s): a = '' cnt = 0 for i in range(len(s)): if s[i] == ' ': cnt = 0 a += s[i] elif cnt % 2 == 0: cnt += 1 a += s[i].upper() else: cnt += 1 a += s[i].lower() return a 처음엔 %2 == 0일때 대문자로 바꾸..

    [Level1] 제일 작은 수 제거하기

    programmers.co.kr/learn/courses/30/lessons/12935 코딩테스트 연습 - 제일 작은 수 제거하기 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1 programmers.co.kr 내 풀이 def solution(arr): if len(arr) < 2: return [-1] arr.remove(min(arr)) return arr remove를 return 줄에 해버리면 none으로 뜸.

    [Level1] 수박수박수박수박수박수?

    programmers.co.kr/learn/courses/30/lessons/12922 코딩테스트 연습 - 수박수박수박수박수박수? 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다. 제한 programmers.co.kr 내 풀이 def solution(n): answer = '' for i in range(0, n): if i % 2 == 0: answer += '수' else: answer += '박' return answer 다른 사람 풀이 def water_melon(n): return "수박"*(n//2) + "수"*(n%2) .............

    [Level1] 예산

    programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 programmers.co.kr 내 풀이 def solution(d, budget): answer = 0 a = 0 list.sort(d) for i in d: a += i if a budget: break return answer 다른 사람 풀이 def solution(d, budget): d.sort() while budget < sum(d): d.pop() return len(d)

    [Level1] 같은 숫자는 싫어

    programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 내 풀이 def solution(arr): answer = [arr[0], ] j = 0 for i in arr: if answer[j] != i: answer.append(i) j += 1 return answer 다른 사람 풀이 def no_continuous(s): a = [] for i in s: if a[-1:] == [i]: continu..

    [Level1] 폰켓몬

    programmers.co.kr/learn/courses/30/lessons/1845 코딩테스트 연습 - 폰켓몬 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. programmers.co.kr 내 풀이 def solution(nums): answer = len(nums) / 2 nums = list(set(nums)) if answer < len(nums): return answer return len(nums) 중복을 제거하여 남은 포켓몬의 사이즈가 가져갈 수 있는 포켓몬의 수보다 적으면 가져갈 수 있는 포켓몬의 수가 답이고 그 반대면 중복 제거 후 남아있는 포..