목록WHAT I LEARN/TIL (78)
Nonamed Develog
일일 알고리즘/SQL 코드카타 Q. 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다.def solution(n): num_list = [] for i in str(n): num_list.append(i) num_list.sort(reverse=True) answer = int(''.join(num_list)) return answern을 문자화하여 각 요소를 리스트에 넣은 다음 오름차순으로 정렬을 시켜봤다. 그 후에 리스트에 있는 문자화된 숫자들을 다시 합치는게 문제였다. 구글링 결과 join 함수를 이용하는..
일일 알고리즘 코드카타Q. 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.제한 조건- s의 길이는 1 이상 5이하입니다.- s의 맨앞에는 부호(+, -)가 올 수 있습니다.- s는 부호와 숫자로만 이루어져있습니다.- s는 "0"으로 시작하지 않습니다.def solution(s): answer = int(s) return answer설마 이거겠어? 라고 입력한 코드가 답이었다. 왜지? Q. 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. def solution(n): x = n ** (1..
일일 알고리즘 코드카타자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. (n은 100억 이하 자연수)def solution(n): answer = [] for i in str(n): answer.append(int(i)) answer.sort(reverse=True) return answer예전에 풀었던 문제에서 숫자 n을 문자화한 다음 for문을 이용해서 하나하나 리스트 업하는 방법으로 풀어봤다. 문제에서 예시로 12345를 주었기 때문에 내림차순으로 이해하고 코드를 짜봤다. 예시대로 나왔지만 정답은 아니었다. 내림차순이 아니라 역배열을 해야했다.def solution(n..
일일 알고리즘 코드카타 풀어보기제한 조건x는 -10000000 이상, 10000000 이하인 정수입니다.n은 1000 이하인 자연수입니다.def solution(x, n): answer = [] for i in range(x,(n+1)*x,x): answer.append(i) return answerfor문의 range(start,stop,step) 함수를 이용하여 해당하는 수를 answer에 리스트 되게 해봤다. 예시 코드는 모두 맞았지만, 정답 제출시 오류가 또 일어났다. 0을 넣으면 [0]이 나오게 예시 코드를 넣었고 ValueError: range() arg 3 must not be zero 라는 오류가 발생했다. 알아보니 range()의 3번 째 인자는 0이 될 수 ..
일일 알고리즘 코드카타 풀어보기Q. 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.def solution(n): answer = 0 for i in str(n): answer += int(i) return answer처음엔 split()를 쓰고 더하는 방식으로 하려했지만 기준이 없어서 포기하고, 각 자릿수를 리스트화 시키기 위해서 고민하던 차에 반복문을 사용하여 문자열로 바꾸기로 했다. 그 리스트를 하나씩 더하는 방법으로 풀어봤다. 쉬운 문제를 너무 어렵게 생각하다보니 시간이 많이 지체되었다. 생각을 단순하게 하자. Q. 정수 n을 입..
일일 알고리즘 코드카타 풀어보기Q. 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.arr은 길이 1 이상, 100 이하인 배열입니다.arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.def solution(arr): answer = sum(arr)/len(arr) return answer갑자기 배열이라는 말이 나와서 헷갈렸지만 합을 구하는 함수 sum(), 길이를 구하는 함수 len()을 이용해 봤다. 엑셀보다 쉽고 빠른 SQL 1주차1-1 1주차 오늘 배울 것 SQL 이 무엇이고 왜 필요한가요?SQL 은 데이터베이스와 대화를 하기 위한 언어, 문법 입니다.옆의 사람에게 필요한 것을 요청할 때 ‘A 를 주시겠어요?’ 와 하는 것과..
일일 알고리즘 코드카타 풀어보기Q. 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. def solution(num): if num % 2 == 0: answer = 'Even' else: answer = 'Odd' return answerdef solution(num): return 'Even' if num % 2 == 0 else 'Odd'두가지 방법으로 풀어봤다. 조건문은 어느 정도 이해가 가는데 반복문이 익숙하지 않아서 걱정이다.[데일리미션] 아티클 스터디오늘의 아티클: 영리한 개발자와 현명한 개발자의 차이점https://yozm.wishket.com/magazine/detail..
일일 알고리즘 코드카타 풀어보기 Q. 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요. 제한사항0 ≤ numbers의 원소 ≤ 1,0001 ≤ numbers의 길이 ≤ 100정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.def solution(numbers): sum = 0 count = 0 for number in numbers: count += 1 sum += number answer = sum/count return answer평균값을 구하는 함수가 있을거라 찾아서 쉽게 풀어보려 했지만 오늘은 그동안 배운 것들을 이용해서 풀어보기로 했다..