나의 풀이
N = int(input())
import itertools
nums = []
for i in range(1, N+1):
nums.append(str(i))
li = list(map(' '.join, itertools.permutations(nums)))
# map(함수, 리스트 or 튜플): 리스트나 튜플의 요소를 지정된 함수로 처리
for i in range(len(li)):
print(li[i])
나의 풀이
N = int(input())
a = 2
if N == 1:
print("")
else:
while a <=N:
if N%a == 0:
print(a)
N = N // a
else:
a +=1
나의 풀이
m, n = map(int, input().split())
# 두 개의 인자를 입력 받아 정수로 집어넣는 방법
# (map과 split의 활용. 입력 받은 두 문자를 쪼개 리스트화 한 후, 그 리스트의 요소들을 map함수와 int 인자를 통해 각각 정수화하여 m,n에 대입)
def isprime(m, n):
n += 1 # for문 사용을 위한 n += 1
prime = [True] * n # n개의 [True]가 있는 리스트 생성
for i in range(2, int(n**0.5)+1): # n의 제곱근까지만 검사
if prime[i]: # prime[i]가 True일때
for j in range(2*i, n, i): # prime 내 i의 배수들을 False로 변환
prime[j] = False
for i in range(m, n):
if i > 1 and prime[i] == True: # 1 이상이면서 남은 소수들을 출력
print(i)
isprime(m, n)
: https://terms.naver.com/entry.naver?docId=1179083&cid=40942&categoryId=32204
나의 풀이
n = int(input())
a = 0
b = 1
if n <0:
print(-1)
elif n == 0:
print(0)
elif n == 1:
print(1)
else:
for i in range(1, n):
a, b = b, b + a # n-2 번째 항과 n-1 번째 항의 합이 n번째 항이므로 이를 영리하게 활용한다. n-2번째 항과 n-1번째 항을 n-1번째 항과 n 번째 항으로 최신화 시켜준다.
print(b)
나의 풀이
n = int(input())
def sum(n):
if n<=1:
return n
else:
return n + sum(n-1)
print(sum(n))
n = int(input())
a = 0
for i in range(1, n+1):
a += i
print(a)
N = int(input())
def sum_for_divide_conquer(N):
def generate(n):
if n == 1:
return 1
elif n % 2 == 1:
return n + generate(n-1)
else:
return generate(n // 2) * 2 + (n ** 2) // 4
return generate(N)
print(sum_for_divide_conquer(N))
n = int(input())
print(int((n+1)*n/2))
시간 복잡도에 관해 서술해놓은 블로그: https://chancoding.tistory.com/43