(16번) x만큼 간격이 있는 n의 개의 숫자
def solution(x, n):
answer = []
for i in range(1,n+1) :
answer.append(x * i)
return answer
# answer = answer.append(x * i)는 오류
> 창의적인 답
def number_generator(x, n):
return [i for i in range(x, x*n+1, x)]
# range x차이만큼, x*n값 까지 출력
(17번) 자연수를 뒤집어 배로 만들기
def solution(n):
answer = []
a = str(n)
for i in range(len(a)) :
answer.append(int(a[i]))
answer = list(reversed(answer))
return answer
> 간결한 답
def solution(n):
return [int(i) for i in str(n)][::-1]
> 창의적인 답
def solution(n):
return list(map(int, reversed(str(n))))
# 또는
return list(map(int, str(n)[::-1]))
(18번) 문자열을 정수로 바꾸기
def solution(s):
return int(s)
> 실행속도는 아래가 더 빠르다고 한다.
def solutiont(s):
result = 0
size=len(s)
temp = 0
if s[0] == '-' :
sign = -1
else :
sign = 1
for i in range(0, size) :
if str[i] == '1' :
temp = 1
elif str[i] == '2' :
temp = 2
elif str[i] == '3' :
temp = 3
elif str[i] == '4' :
temp = 4
elif str[i] == '5' :
temp = 5
elif str[i] == '6' :
temp = 6
elif str[i] == '7' :
temp = 7
elif str[i] == '8' :
temp = 8
elif str[i] == '9' :
temp = 9
else :
temp = 0
for i in range(size-i-1) :
temp = temp * 10
result = result + temp
result = result * sign
return result
> 색다른 답
def solution(s):
result = 0
for idx, number in enumerate(s[::-1]):
if number == '-':
result *= -1
else:
result += int(number) * (10 ** idx)
return result
(19번) 정수 제곱근 판별
def solution(n):
answer = 0
x = n**(1/2)
if x == int(n**(1/2)) : # x%1 == 0 나머지를 활용할 수 있다. 오우...
answer = (x+1)**2
else :
answer = -1
return answer
> 창의적인 답
def nextSqure(n):
return n == int(n**.5)**2 and int(n**.5+1)**2 or 'no'
# 참이면서 int( )출력 거짓이면 no
(20번) 정수 내림차순으로 배치하기
> 비록 아래처럼은 아니지만 결국엔 똑같아서 내가 쓴 답은 pass..
> ex. 문자(str) 'abcdef' 를 list() 하면 .. 'a','b' --- 자동으로 나눠진다는 것을 알게 됨.. ㅎㅎ,,
def solution(n):
ls = list(str(n))
ls.sort(reverse = True)
return int("".join(ls))
> 다른 방법
def solution(n):
return int("".join(sorted(list(str(n)), reverse=True)));
> 창의적인 답들이 다양하다.
'[스파르타코딩클럽]데이터분석 과정 > PYTHON' 카테고리의 다른 글
[Python] 점프 투 파이썬 (복습 차원) (0) | 2024.01.08 |
---|---|
[Python 코드카타] 21 ~ 25번 프로그래머스 (2) | 2024.01.08 |
[Python 코드카타] 11 ~ 15번 (프로그래머스) (0) | 2024.01.06 |
[Python 코드카타] 6~10번 (프로그래머스)_(1~5번 다시풀기) (1) | 2024.01.05 |
[Python 코드카타] 1 ~ 5번 (프로그래머스) (0) | 2024.01.04 |