오늘 할 일: 끝내주게 숨쉬기
article thumbnail
[프로그래머스] level 2 : 위장
OLD/Coding Test 2020. 3. 14. 16:53

문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한 사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clot..

[프로그래머스] level 1 : 제일 작은 수 제거하기
OLD/Coding Test 2020. 2. 9. 13:22

문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 arr return [4,3,2,1] [4,3,2] [10] [-1] Solution 1 2 3 4 def solution(arr) : arr.remove(min(arr)) if arr == [] : arr.append(-1) return arr cs 코드해석 입력받은 배..

[프로그래머스] level 1 :두 정수 사이의 합
OLD/Coding Test 2020. 2. 9. 13:02

문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 Solution 1 2 3 4 5 def solution(a, b): answer = 0 for i in range(min(a,b), max(a,b)+1): answer += i return answer cs 코드해석 입력받은 a, b중 ..

article thumbnail
[프로그래머스] level 1 : 같은 숫자는 싫어
OLD/Coding Test 2020. 2. 9. 12:41

문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해 주세요. 제한사항 배열 arr의 크기 : 1,000,000 이하의 자연수 배열 arr의 원소의 크기 : 0보다 크거나 ..

[프로그래머스] level 1 : 정수 제곱근 판별
OLD/Coding Test 2020. 2. 7. 11:10

문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 Solution 1 2 3 4 def solution(n) : sqrt = n ** (1/2) if sqrt % 1 == 0 : return (sqrt + 1) ** 2 return -1 cs 코드해석 입력 받은 정수를 1/2 제곱하여 제곱근을 구합니다. 만약 구한 제곱근 sqrt가 정수라면(=입력 받은 정수 n이 어떤 양의 정수의 제곱이라면) 1으..

[프로그래머스] level 1 : 하샤드 수
OLD/Coding Test 2020. 2. 7. 10:58

문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 arr return 10 true 12 true 11 false 13 false Solution 1 2 3 def solution(x): answer = x % sum([int(i) for i in str(x)]) == 0 return answer cs 코드해석 입력받은 정수 x의 각 자릿수를 우선 더합니다. x를 각 자릿수의 합으로 나누었을 때 나머지가..

article thumbnail
[프로그래머스] level 1 : 자연수 뒤집어 배열로 만들기
OLD/Coding Test 2020. 2. 7. 10:53

문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] Solution 1 2 def solution(n): return [int(i) for i in str(n)][::-1] cs 코드해석 우선 입력 받은 n을 str 함수를 사용하여 문자형으로 변환합니다. 그리고나서 각 자리 숫자(아직 타입은 문자형)를 int 함수를 사용하여 숫자로 변환하여 리스트의 원소로 넣어줍니다. 리스트에 [::-1]을 적용하면 리스트 내 원소가 역으로 정렬됩니다.

article thumbnail
[프로그래머스] level 1 : 이상한 문자 만들기
OLD/Coding Test 2020. 2. 7. 10:26

문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 s return "try hello world" "TrY HeLlO WoRlD" Solution 1 2 3 4 5 6 7 8 9 10 11 12 13 def solution(s): answer = '' idx = 0 for i in range(len(s)): if s[i]..

article thumbnail
[프로그래머스] level 1 : 자릿수 더하기
OLD/Coding Test 2020. 2. 7. 09:57

문제 설명 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 제한사항 N의 범위 : 100,000,000 이하의 자연수 입출력 예 N answer 123 6 987 24 Solution 1 2 3 4 5 def solution(n): answer = 0 for i in str(n): answer += int(i) return answer cs 코드해석 입력받은 정수 n을 str 함수를 사용하여 문자형으로 변환합니다. 잘 쪼개졌는지 확인해보기 위해 다음을 실행해봤습니다. 정수를 쪼갠 후 출력한 1, 2, 3, 4, 5는 문자형입니다. 이들을 더해주기 위해 int 함수..

[프로그래머스] level 1 : 약수의 합
OLD/Coding Test 2020. 2. 6. 21:25

문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 Solution 1 2 def solution(n): return sum(list(filter(lambda x: n % x == 0, range(1, n+1)))) cs 코드해석 정수 n을 1부터 n까지의 정수로 나누고, 나머지가 0인 경우만 리스트에 원소로 넣어준 후 이들의 합을 구합니다. sum 함수를 사용하면 리스트 내 원소들의 합을 쉽게 구할 수 있답니다. >>> sum([1,2,3]) 6 다른 사람의 풀이 1 2 def solution(n): return n + sum([i for i in ra..

반응형