Coding Test/초보자를 위한 파이썬 300제

[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(231~240)_12.21

Klay_J 2022. 12. 21. 20:50

안녕하세요. Harry입니다.

 

현재 풀이중인 초보자를 위한 파이썬 300제 풀이를 진행하면서 나름대로 파악했던 문제 출제 의도와 풀이를 작성했습니다.

모든 풀이는 직접 Pycharm을 통해 에러없이 출력됨을 확인 후 작성했습니다.

 

초보자를 위한 파이썬 300제 풀이는 Wikidocs에 무료로 배포된 전자책을 활용했습니다/

https://wikidocs.net/book/922

[학습목표]

1. 각 문제별 요구하는 역량(출제의도)이 무엇인지 파악할 수 있다.

2. 각 문제별 요구하는 기술 및 기능을 활용하여 문제를 해결할 수 있다.

 

231 ~ 240

231

아래 코드를 실행한 결과를 예상하라.

- 요구역량 : 함수의 변수 특징을 알고있는가?

def n_plus_1 (n) :
    result = n + 1

n_plus_1(3)
print (result)
 정답확인
- Error. result는 함수 안에서 사용한 변수이기 때문에, 함수 밖에서는 사용할 수 없다.

232

문자열 하나를 입력받아 인터넷 주소를 반환하는 make_url 함수를 정의하라. 

- 요구역량 : 매개변수가 포함된 문자열을 함수로 출력할 수 있는가?

make_url("naver")
www.naver.com
 정답확인
def make_url(string):
    print("www."+string+".com")
    
#답지 - return 이용
def make_url(string) :
    return "www." + string + ".com"​

233

문자열을 입력받아 각 문자들로 구성된 리스트로 반환하는 make_list 함수를 정의하라. 

- 요구역량 : 매개변수로 입력받은 문자열을 다른 자료형(리스트)으로 변경하여 한글자씩 출력하는 함수를 정의할 수 있는가?

list(문자열)을 하면 문자열의 한글자씩 리스트의 요소로 만듭니다!

make_list("abcd")
['a', 'b', 'c', 'd']
 정답확인
def make_list(string):
    a = list(string)
    return a
print(make_list("abcd"))

234

숫자로 구성된 하나의 리스트를 입력받아, 짝수들을 추출하여 리스트로 반환하는 pickup_even 함수를 구현하라.

- 요구역량 : 리스트를 매개변수로 받아 특정 요소만 새 리스트에 담아 출력하는 함수를 정의할 수 있는가?

함수 안에 새 리스트 정의 후 append 메서드를 통해 if문을 통과한 요소만 result 함수에 들어가야합니다.

pickup_even([3, 4, 5, 6, 7, 8])
[4, 6, 8]
 정답확인
def pickup_even(list):
    result = []
    for i in list:
        if i%2 == 0:
            result.append(i)
    return result

235

콤마가 포함된 문자열 숫자를 입력받아 정수로 변환하는 convert_int 함수를 정의하라.

-요구역량 : 문자열의 특정문자를 제외한 문자열을 출력하는 함수를 정의할 수 있는가?

간단한 문제인데,,너무 어렵게 생각했습니다..(replace를 생각하지 못함)

convert_int("1,234,567")
1234567
 정답확인
def convert_int (string) :
    return int(string.replace(',', ''))

236

아래 코드의 실행 결과를 예측하라.

- 요구역량 : 함수의 결과값에 따라 연속되는 값을 예상할 수 있는가?

def 함수(num) :
    return num + 4

a = 함수(10)
b = 함수(a)
c = 함수(b)
print(c)
 정답확인
- 22

237

아래 코드의 실행 결과를 예측하라.

- 요구역량 : 함수의 결과값에 따라 연속되는 값을 예상할 수 있는가?

def 함수(num) :
    return num + 4

c = 함수(함수(함수(10)))
print(c)
 정답확인
- 22 (36번과 같은 문제)

238

아래 코드의 실행 결과를 예측하라.

- 요구역량 : 함수의 결과값에 따라 연속되는 값을 예상할 수 있는가?

def 함수1(num) :
    return num + 4

def 함수2(num) :
    return num * 10

a = 함수1(10)
c = 함수2(a)
print(c)
 정답확인
- 140

239

아래 코드의 실행 결과를 예측하라.

- 요구역량 : 함수의 결과값에 따라 연속되는 값을 예상할 수 있는가?

def 함수1(num) :
    return num + 4

def 함수2(num) :
    num = num + 2
    return 함수1(num)

c = 함수2(10)
print(c)
 정답확인
- 16

240

아래 코드의 실행 결과를 예측하라.

- 요구역량 : 함수의 결과값에 따라 연속되는 값을 예상할 수 있는가?

def 함수0(num) :
    return num * 2

def 함수1(num) :
    return 함수0(num + 2)

def 함수2(num) :
    num = num + 10
    return 함수1(num)

c = 함수2(2)
print(c)
 정답확인

- 28

 

아직 함수 정의하는 게 익숙하지 않네요. 문자열 메서드나 리스트 메서드도

 

감사합니다.