FOR 78

Array.diff

문제 설명 Your goal in this kata is to implement a difference function, which subtracts one list from another and returns the result. It should remove all values from list a, which are present in list b keeping their order. array_diff([1,2],[1]) == [2] If a value is present in b, all of its occurrences must be removed from the other: array_diff([1,2,2,2,3],[2]) == [1,3] 해결 방법 1. b리스트 안의 요소가 a리스트 안에 ..

최소직사각형

문제 설명 명함 지갑을 만드는 회사에서 지갑의 크기를 정하려고 합니다. 다양한 모양과 크기의 명함들을 모두 수납할 수 있으면서, 작아서 들고 다니기 편한 지갑을 만들어야 합니다. 이러한 요건을 만족하는 지갑을 만들기 위해 디자인팀은 모든 명함의 가로 길이와 세로 길이를 조사했습니다. 가장 긴 가로 길이와 세로 길이가 각각 80, 70이기 때문에 80(가로) x 70(세로) 크기의 지갑을 만들면 모든 명함들을 수납할 수 있습니다. 하지만 2번 명함을 가로로 눕혀 수납한다면 80(가로) x 50(세로) 크기의 지갑으로 모든 명함들을 수납할 수 있습니다. 이때의 지갑 크기는 4000(=80 x 50)입니다. 모든 명함의 가로 길이와 세로 길이를 나타내는 2차원 배열 sizes가 매개변수로 주어집니다. 모든 명..

평균 구하기

문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 해결 방법 1. 리스트의 각 요소들의 합계를 구한다 2. 리스트의 요소 수를 구한다 3. 합계와 요소 수를 나눈다 *sum과 for문 등으로 문제를 해결 할 수 있다. # sum의 경우 def solution(arr): return sum(arr)/len(arr) # for의 경우 def solution(arr): a = 0 for i in arr: a += i return a/len(arr)

하샤드 수

문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1 이상, 10000 이하인 정수입니다. 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합은 2입니다. 11은 2로 나누어 떨어지지 않으므로 11는 하샤드 수가 아닙니다. 입출력 예..

행렬의 덧셈

문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 해결 방법 1. 최종 리턴할 리스트를 생성한다 2. 내장함수 zip과 for를 이용하여 각 리스트의 요소를 분리한다 3. 반복 시 초기화되는 임시 리스트를 생성한다 4. 다시 각 리스트의 요소를 분리한다 5. 분리된 요소끼리 더한 값을 임시 리스트에 추가한다 6. 최종 리스트에 임시 리스트를 요소로 추가한다 7. 최종 리스트를 반환한다 def solution(arr1, arr2): answer_list ..

김왼손의 왼손코딩 #for, range(), for x 2, 컴프리헨션

오늘 배운 것 반복되는 것을 처리하는 것이 컴퓨터의 주특기 (빠르고 정확) => 그래서 반복문을 쓴다. 2가지 방법 1) for 2) while for 문법 '컨테이너' 안에 있는 리스트 들이 순서대로 '변수'에 들어가고 '실행할 명령'을 수행하게 된다. (반복) '실행할 명령' 은 꼭 띄어쓰기를 해야한다. (파이썬에서는 꼭 해주어야 한다!) > 띄어쓰기를 할 때는 모든 명령들이 동일한 띄어쓰기를 적용해야 한다. ex. 탭으로 했으면 다 탭, 띄어쓰기로 했으면 다 띄어쓰기(동일한 수 띄어쓰기) *권장사항 - 제작자는 띄어쓰기 4칸을 권장한다. ex. for animal in animals: print(animal) >>> ((animals 안에 있던 리스트가 차례대로 모두 출력(한 번에 출력되는게 아닌 ..