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

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

6308. 100세가 되는 해

6308. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 1

 

문제

다음의 결과와 같이 이름과 나이를 입력 받아
올해를 기준으로 100세가 되는 해를 표시하는 코드를 작성하십시오.

 

입력

홍길동

20

 

출력

홍길동(은)는 2099년에 100세가 될 것입니다.

 

name = input()
age = int(input())

year_100 = 2019 + 100 - age        # 올해는 2021년이지만 pass하려면..
print("{0}(은)는 {1}년에 100세가 될 것입니다.".format(name, year_100))

 

 


6311. 알파벳 점수

6311. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 4

 

문제

"ADCBBBBCABBCBDACBDCAACDDDCAABABDBCBCBDBDBDDABBAAAAAAADADBDBCBDABADCADC"와
같은 문자열이 주어지고, A는 4점, B는 3점, C는 2점, D는 1점이라고 할 때 문자열에 사용된
알파벳 점수의 총합을 map 함수와 람다식을 이용해 구하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

184

 

data = "ADCBBBBCABBCBDACBDCAACDDDCAABABDBCBCBDBDBDDABBAAAAAAADADBDBCBDABADCADC"
print(sum(list(map(lambda x: ord('E') - ord(x), data))))

 

 


6312. 예외 처리

6312. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 5

 

문제

가변형 인자로 정수들을 입력받아 곱을 반환하는 함수를 정의하고,

단, 1, 2, '4', 3와 같이 제대로 입력되지 않은 경우 예외를 처리하는 프로그램을 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

에러발생

 

def multiply(*arg):
    result = 1
    for i in arg:
        if type(i) != int:
            return "에러발생"
        else:
            result *= i
    return result

print(multiply(1, 2, '4', 3))

 

 


6313. 문자 확인

6313. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 6

 

문제

ASCII 코드 값를 입력받아 문자를 확인하는 코드를 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

입력

65

 

출력

ASCII 65 => A

 

T = int(input())
print("ASCII {0} => {1}".format(T, chr(T)))

 

 


6314. 짝수

6314. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 7

 

문제

1~10까지의 정수를 항목으로 갖는 리스트 객체에서 filter 함수와 람다식을 이용해

짝수만을 선택해 리스트를 반환하는 프로그램을 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

 

출력

[2, 4, 6, 8, 10]

 

print(list(filter(lambda x: x % 2 == 0, list(range(1, 11))))) # 한줄컷

 

 


6315. 제곱

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

 

문제

1~10까지의 정수를 항목으로 갖는 리스트 객체에서 map 함수와 람다식을 이용해

항목의 제곱 값을 갖는 리스트를 반환하는 프로그램을 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

 

print(list(map(lambda x: x * x, list(range(1, 11))))) # 한줄컷

 

 


6316. 짝수 / 제곱

6316. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 9

 

문제

1~10까지의 정수를 항목으로 갖는 리스트 객체에서 filter 함수와 람다식을 이용해

짝수만을 선택한 후, map 함수와 람다식을 이용해 항목의 제곱 값을 갖는 리스트를 반환하는

프로그램을 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

[4, 16, 36, 64, 100]

 

print(list(map(lambda x: x * x, list(filter(lambda x: x % 2 == 0, list(range(1, 11))))))) # 한줄컷

 

 


6317. 가장 큰 값

6317. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 10

 

문제

가변형 인자를 전달 받아 가장 큰 값을 반환하는 함수를 정의하고

다음과 같은 결과를 출력하는 프로그램을 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

max(3, 5, 4, 1, 8, 10, 2) => 10

 

처음에 이렇게 풀었는데

def max(*arg):                 # max함수 내장으로 있지만 정의하래서
    max_value = arg[0]
    for i in range(1, len(arg)):
        if max_value < arg[i]:
            max_value = arg[i]
    return max_value

expr = "max(3, 5, 4, 1, 8, 10, 2)"
print("{0} => {1}".format(expr, eval(expr)))

eval이 허용하지 않는 라이브러리라고 함 ㅂㄷㅂㄷ

 

그래서 그냥 이렇게 품

def max(*arg):
    max_value = arg[0]
    for i in range(1, len(arg)):
        if max_value < arg[i]:
            max_value = arg[i]
    return max_value

print("max(3, 5, 4, 1, 8, 10, 2) => {0}".format(max(3, 5, 4, 1, 8, 10, 2)))

 

 


6318. 문자열 딕셔너리

6318. [파이썬 프로그래밍 기초(1) 파이썬의 기본 구조와 기초 문법] 9. 내장함수 11

 

문제

다음의 결과와 같이 'abcdef' 문자열의 각각의 문자를 키로 하고 0~5 사이의 정수를

값으로 하는 딕셔너리 객체를 생성하고, 이 딕셔너리 객체의 키와 값 정보를 출력하는
프로그램을 작성하십시오.

(출처 : https://swexpertacademy.com/)

 

출력

a: 0

b: 1

c: 2

d: 3

e: 4

f: 5

 

동시에 하기

data = 'abcdef'
dic = {}
for i, d in enumerate(data):
    dic[d] = i
    print("{0}: {1}".format(d, i))

만들고 하기

data = 'abcdef'
dic = {}
for i, d in enumerate(data):
    dic[d] = i

for k, v in dic.items():
    print("{0}: {1}".format(k, v))