본문 바로가기

Algorithm101

평균 구하기 문제 설명 정수를 담고 있는 배열 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) 2022. 1. 17.
2022년 3주차 '기록의 시작' Weekly Work 이번 주는 기업 협업 3주 차였다. 과제는 '실시간 호가 데이터를 가져오고 DB에 파일 시스템을 활용하여 벌크로 저장하는 것'이었다. 실시간 호가 데이터를 불러오기 위해 스레드를 공부해 추가했다. 결과적으로 데이터는 받아왔지만 뭔가 꺼림칙하다. 코드는 동작하지만 그 동작원리를 알 수 없기 때문이었다. com객체와 thread, message pump가 어떤 원리로 동작하는지 아직 명확하게 이해하지 못했다. 파일 시스템을 이용해 데이터를 모아서 한 번에 저장할 수 있다는 것을 알게 되었다. 처음에 with문이 무슨 역할을 하는지 몰랐으나 파이썬 강의를 추가로 들으면서 close() 메서드 역할이 포함되어 있다는 것을 알게 되었다. 기업 협업이 만족스럽지는 않다. 사실 주어진 과제는 훨.. 2022. 1. 17.
하샤드 수 문제 설명 양의 정수 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는 하샤드 수가 아닙니다. 입출력 예.. 2022. 1. 16.
핸드폰 번호 가리기 문제 설명 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 s는 길이 4 이상, 20이하인 문자열입니다. 해결 방법 ''' 1. 마지막 요소 4개를 제외한 문자열을 구한다 2. 마지막 요소 4개를 제외한 수만큼 '*'을 만든다 3. 구한 문자열을 '*'문자열로 바꾸어 반환한다 ''' def solution(phone_number): a = phone_number[:-4] b = '*' * len(phone_number[:-4]) return phone_number.replace(a, b) ''' 입력값 〉"027778888" 기댓값 〉"*****8888" ''' 이 .. 2022. 1. 15.
x만큼 간격이 있는 n개의 숫자 문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 해결 방법 def solution(x, n): return [ x * (i+1) for i in range(n) ] 1. 우선 range를 이용해 n의 수 만큼 반복한다. 2. i는 0부터 생성되므로 +1을 하여 실제 반복 수로 바꿔주었다. 3. x 를 (i+1) 과 곱해주어 x가 배수로 생성되도록 하였다. 4. 리스트에 담아 리턴한다. >>> 처음에는 for 문으로 풀었.. 2022. 1. 13.