[SWEA / 파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초
Algorithm

[SWEA / 파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 8. 함수의 기초

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)