목록전체 글 (214)
NIRVANA
문제 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 문제 풀이 접근법1 1) find함수로 '-'의 여부를 판단한다. 2) 만약 -부호가 있을 경우에는 0에서 int(s)를 빼서 마이너스 부호를 붙여준다. 3) 아니라면 그냥 int()로 str형에서 int형으로 바꾼다. def solution(s): answer = 0 find = s.find('-') if find > 0: answer = 0 - int(s) else: answer = int(s) return answer 원래는 in으로 찾으려고 했는데 내 생각대로 '-'를 찾지 못해서 find함수를 사용해서 -여부를 판단했다. 아마 내가 코드를 잘못 만들어서 그런 것 같은데 나중에 다시 한번 in으로 풀어봐야지.. ..
문제 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 문제 풀이 접근법1 1) sqrt()함수를 사용하여 n에 루트를 씌운 값을 저장한다. 2) n과 sqrt함수로 반환 받은 √n을 나눈다. 3) 2의 나머지가 나누어 떨어진다면 어떠한 양의 정수 x의 제곱근이므로 n+1의 제곱한 값을 반환한다. 4) 2의 나머지가 나누어 떨어지지 않는다면 어떠한 양의 정수 x의 제곱근이 아니므로 -1을 반환한다. import math def solution(n): answer = 0 sqrt_n = math.sqrt(n) if n % sqrt_n ..
문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 문제 풀이 접근법1 1) 자연수 N을 입력 받는다. 2) 자연수 N을 str형으로 바꾼 뒤, 반복문을 통해 리스트에 원소를 추가한다 3) reverse() 통해 리스트를 거꾸로 출력한다. def solution(n): answer = [] for i in str(n): answer.append(i) answer = list(map(int, answer)) answer = list(reversed(answer)) return answer vscode에서는 결과가 잘 나왔는데 채점을 하니 에러가 났다. 그래서 혹시 reversed()를 사용 못하나 싶어서 다시 풀..
문제 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 리턴합니다. 단, 개수를 비교할 때 대문자와 소문자는 구별하지 않습니다. 예를 들어 s가 "pPoooyY"면 true를 return하고 "Pyy"라면 false를 return합니다. 문제풀이 접근법1 1) 문자열 s를 한글자씩 쪼개어 리스트에 저장 2) 반복문을 돌면서 리스트 내에 있는 p와 y의 개수를 count 3) p와 y의 개수가 같다면 true를 반환, 아니면 false를 반환 def solution(s): answer = True count_p = 0 ..
문제 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 문제 풀이 접근법1 def solution(x, n): answer = [] if x > 0: for i in range(x, n*x+1, x): answer.append(i) else: for i in range(x, n*x-1, x): answer.append(i) return answer 다음과 같은 방법으로 접근하였는데 런타임 에러가 발생해서 틀렸다. 아마도 x가 0일때는 코드가 예상대로 작동하지 않아서 그런 것 같다. 문제 풀이 접근법2 def solution(x, n): ans..
문제 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 문제 풀이 접근법1 def solution(arr): answer = 0 for i in arr: answer = answer + i answer = answer / len(arr) return answer 다른 분들 풀이 # 문제가 개편되었습니다. 이로 인해 함수 구성이나 테스트케이스가 변경되어, 과거의 코드는 동작하지 않을 수 있습니다. # 새로운 함수 구성을 적용하려면 [코드 초기화] 버튼을 누르세요. 단, [코드 초기화] 버튼을 누르면 작성 중인 코드는 사라집니다. def average(list): # 함수를 완성해서 매개변수 list의 평균값을 return하도록 만들어 보세요. if len(li..