https://programmers.co.kr/learn/courses/30/lessons/12932
def solution(n):
answer = []
n = str(n) # 정수 n을 문자열로 변환
for i in n[::-1]: # 문자열 n을 뒤집어서 하나씩 읽기
answer.append(int(i)) # 지금 보는 문자를 정수로 바꾸고 answer에 붙여주기
return answer
https://programmers.co.kr/learn/courses/30/lessons/12934
def solution(n):
if int(n**(1/2)) == n**(1/2): # n의 제곱근이 정수라면
return (int(n**(1/2)) + 1)**2 # (제곱근 + 1)의 제곱을 리턴
else: # n의 제곱근이 정수가 아니면
return -1
https://programmers.co.kr/learn/courses/30/lessons/12937
def solution(num):
if num % 2 == 0: # num이 2로 나누어 떨어지면 짝수
return "Even"
else: # 나머지가 있으면 홀수
return "Odd"
https://programmers.co.kr/learn/courses/30/lessons/12943
def solution(num):
count = 0 # 계산을 한 횟수를 저장하는 변수
if num == 1: # 최초의 num이 1로 주어졌다면 0를 리턴하라고 명시됌
return 0
while num != 1: # num이 1이 아닐때까지만 반복
if num % 2 == 0: # num이 짝수라면
num //= 2 # num을 2로 나눈다
else: # num이 홀수라면
num = num * 3 + 1
count += 1 # 계산횟수 추가
if count == 500: # 계산횟수가 500번을 넘으면 종료
return -1
return count
https://programmers.co.kr/learn/courses/30/lessons/12947
def solution(x):
digsum = 0 # 각 자릿수의 합을 저장할 변수
for i in str(x): # 정수 x를 문자열로 만들고 하나씩 읽어오기
digsum += int(i) # 지금 보는 문자를 정수로 변환하여 더함
if x % digsum == 0: # x가 각 자릿수의 합으로 나누어 떨어지면
return True
else:
return False
https://programmers.co.kr/learn/courses/30/lessons/12954#
for문의 성질을 이용한 코드
def solution(x, n):
if x == 0: # x가 0 이라면
return [0]*n # 리스트에 0을 n개만큼 채움 [0,0,0,...]
if x > 0: # x가 양수라면
return [i for i in range(x,x*n+1,x)] # x부터 x * n 까지 x의 간격으로 i를 내보내서 리스트에 담음
else: # x가 음수라면
return [i for i in range(x,x*n-1,x)] # x부터 x * n 까지 x의 간격으로 i를 내보내서 리스트에 담음
range(시작, 끝, 간격)
while문의 성질을 이용한 코드
def solution(x, n):
answer = []
cnt = 0
while len(answer) != n:
cnt += 1
answer.append(x * cnt)
return answer
https://programmers.co.kr/learn/courses/30/lessons/12969
a, b = map(int, input().strip().split(' '))
# input() 함수로 입력을 받고
# .strip() 메소드로 문자열의 시작과 끝의 공백문자를 제거하고
# .split(' ') 메소드로 공백문자를 기준으로 문자열을 가른다.
# map() 함수로 갈라낸 문자열을 하나씩 받아 int함수를 돌려서 뱉어낸다.
for _ in range(b): # b번 반복 해서
#(변수가 필요없으면 변수자리에 _을 넣으면 됌)
print('*'*a) # a개의 별을 찍음
이번 문제는 함수에 넘어온 파라미터를 처리해서 리턴하는게 아니라
사용자로부터 입력을 받아서 처리 후 출력하는 문제이다.
확인해보면 입력은 "a b" 형태로 주어지고, a와 b사이에 공백으로 구분되어 있다.