6319. 회문
6319. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 1
문제
다음의 결과와 같이 반목문을 이용해 단어의 순서를 거꾸로 해 반환하는 함수를 작성하고
그 함수를 이용해 회문(앞뒤 어느 쪽에서도 같은 단어, 말) 여부를 판단하는 코드를 작성하십시오.
(출처 : https://swexpertacademy.com/)
입력
eye
출력
eye
입력하신 단어는 회문(Palindrome)입니다.
def is_Palindrome(word):
print(word)
if word == word[::-1]:
print("입력하신 단어는 회문(Palindrome)입니다.")
else:
print("입력하신 단어는 회문(Palindrome)이 아닙니다.")
w = input()
is_Palindrome(w)
6320. 가위바위보
6320. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 2
문제
다음과 같이 사용자 2명으로부터 가위, 바위, 보를 입력 받아
가위, 바위, 보 규칙이 정의된 함수를 이용해 승패를 결정하는 코드를 작성하십시오.
입력
홍길동
이순신
가위
바위
출력
바위가 이겼습니다!
def rock_paper_scissors(a, b):
win_case = {"가위" : "보", "바위" : "가위", "보" : "바위"}
if a == b:
print("비겼습니다!")
else:
if win_case[a] == b:
print("%s가 이겼습니다!" % a)
else:
print("%s가 이겼습니다!" % b)
name1, name2 = input(), input() # 이름은 굳이 왜 입력하지
x1, x2 = input(), input()
rock_paper_scissors(x1, x2)
6321. 소수
6321. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 3
문제
소수를 검사하는 함수를 정의하고, 다음의 결과와 같이 사용자가 입력한 숫자가
소수인지를 판단하는 프로그램을 작성하십시오.
소수일 경우 "소수입니다." 출력, 아닐 경우 "소수가 아닙니다." 출력
(출처 : https://swexpertacademy.com/)
입력
13
출력
소수입니다.
def prime_number(num):
if num == 1:
print("소수가 아닙니다.")
return
for i in range(2, num):
if num % i == 0:
print("소수가 아닙니다.")
return
print("소수입니다.")
number = int(input())
prime_number(number)
6323. 피보나치
6323. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 4
문제
다음의 결과와 같이 피보나치 수열의 결과를 생성하는 프로그램을 작성하십시오.
(출처 : https://swexpertacademy.com/)
입력
10
출력
[1, 1, 2, 3, 5, 8, 13, 21, 34, 55]
def fibonacii(n):
fib = [1] * n
for i in range(2, n):
fib[i] = fib[i - 1] + fib[i - 2]
return fib
num = int(input())
print(fibonacii(num))
6324. 중복 제거
6324. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 5
문제
리스트의 항목 중 유일한 값으로만 구성된 리스트를 반환하는 함수를 정의하고
이 함수를 이용해 리스트의 중복 항목을 제거하는 프로그램을 작성하십시오.
(출처 : https://swexpertacademy.com/)
출력
[1, 2, 3, 4, 3, 2, 1]
[1, 2, 3, 4]
속마음
lst = [1, 2, 3, 4, 3, 2, 1]
print(lst)
print(list(set(lst)))
진지하게 풀기
lst = [1, 2, 3, 4, 3, 2, 1]
def list_to_set(data):
to_set = []
for i in data:
if i not in to_set:
to_set.append(i)
return to_set
print(lst)
print(list_to_set(lst))
6325. 리스트에서 숫자 찾기
6325. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 6
문제
정렬된 숫자를 가진 리스트에서 특정 숫자를 찾는 함수를 정의하고,
이 함수를 이용해 임의의 숫자의 포함 여부를 출력하는 프로그램을 작성하십시오.
(출처 : https://swexpertacademy.com/)
출력
[2, 4, 6, 8, 10]
5 => False
10 => True
def exists_in_list(num, lst):
if num in lst:
print("%d => True" % num)
else:
print("%d => False" % num)
lst = [2, 4, 6, 8, 10]
print(lst)
exists_in_list(5, lst)
exists_in_list(10, lst)
6326. 팩토리얼
6326. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 7
문제
다음과 같이 팩토리얼을 구하는 함수를 정의해 입력된 숫자에 대한
팩토리얼 값을 구하는 프로그램을 작성하십시오.
(출처 : https://swexpertacademy.com/)
입력
5
출력
120
풀이 1
def factorial(n):
result = 1
for i in range(1, n + 1):
result *= i
return result
num = int(input())
print(factorial(num))
풀이 2
def factorial(n):
if n == 1:
return 1
return factorial(n - 1) * n
num = int(input())
print(factorial(num))
6327. 제곱
6327. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 8
문제
숫자에 대해 제곱을 구하는 함수를 정의히고, 다음과 같이 숫자를 콤마(,)로 구분해 입력하면
정의한 함수를 이용해 제곱 값을 출력하는 프로그램을 작성하십시오.
(출처 : https://swexpertacademy.com/)
입력
2, 3
출력
square(2) => 4
square(3) => 9
def square(num_list):
result_dic = {}
for i in num_list:
result_dic[i] = i * i
for k, v in result_dic.items():
print("square({0}) => {1}".format(k, v))
num_list = list(map(int, input().split(", ")))
square(num_list)
6328. 문자의 길이
6328. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 9
문제
인자로 전달된 두 개의 문자열 중 길이가 더 긴 문자열을 출력하는 함수를 정의하고
결과를 출력하는 프로그램을 작성하십시오.
(출처 : https://swexpertacademy.com/)
입력
one, three
출력
three
def is_longer(str_list):
if len(str_list[0]) > len(str_list[1]):
print(str_list[0])
elif len(str_list[0]) < len(str_list[1]):
print(str_list[1])
str_list = input().split(", ")
is_longer(str_list)
6329. 카운트다운
6329. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초 10
문제
인자로 전달된 숫자를 이용해 카운트다운하는 함수 countdown을 정의하고,
이 함수를 이용하여 countdown(0), countdown(10)을 순서대로 실행하십시오.
0보다 작거나 같은 인자가 전달되었을 경우 "카운트다운을 하려면 0보다 큰 입력이 필요합니다."를 출력하십시오.
(출처 : https://swexpertacademy.com/)
출력
카운트다운을 하려면 0보다 큰 입력이 필요합니다.
10
9
8
7
6
5
4
3
2
1
def countdown(n):
if n == 0:
print("카운트다운을 하려면 0보다 큰 입력이 필요합니다.")
else:
for i in range(n, 0, -1):
print(i)
countdown(0)
countdown(10)