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

[독학 파이썬] 초보자를 위한 파이썬 300제 풀이(061~070)_12.15

이대코 2022. 12. 15. 17:22

안녕하세요. Harry입니다.

 

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

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

 

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

https://wikidocs.net/book/922

[학습목표]

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

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

 

061 ~ 070

061

price 변수에는 날짜와 종가 정보가 저장돼 있다. 날짜 정보를 제외하고 가격 정보만을 출력하라. (힌트 : 슬라이싱)

- 요구역량 : 리스트 슬라이싱을 활용하여 원하는 부분만 출력할 수 있는가?

price = ['20180728', 100, 130, 140, 150, 160, 170]
출력 예시:
[100, 130, 140, 150, 160, 170]
 정답확인
price = ['20180728', 100, 130, 140, 150, 160, 170]
print(price[1:])

062

슬라이싱을 사용해서 홀수만 출력하라.

- 요구역량 : 리스트 슬라이싱을 이용하여 원하는 간격의 요소만 출력할 수 있는가?

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
실행 예:
[1, 3, 5, 7, 9]
 정답확인
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[::2])

063

슬라이싱을 사용해서 짝수만 출력하라.

- 요구역량 : 리스트 슬라이싱을 이용하여 원하는 간격의 요소만 출력할 수 있는가?

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
실행 예:
[2, 4, 6, 8, 10]
 정답확인
nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[1::2])
 

064

슬라이싱을 사용해서 리스트의 숫자를 역 방향으로 출력하라.

- 요구역량 : 슬라이싱을 이용하여 리스트 순서를 역방향으로 출력할 수 있는가?

nums = [1, 2, 3, 4, 5]
실행 예:
[5, 4, 3, 2, 1]
 정답확인
#슬라이싱을 이용한 경우#
nums = [1, 2, 3, 4, 5]
print(nums[::-1])

#reverse 메서드를 이용한 경우#
nums = [1, 2, 3, 4, 5]
nums.reverse()
print(nums)

065

interest 리스트에는 아래의 데이터가 바인딩되어 있다.

- 요구역량 : 리스트 내 특정 요소만 출력할 수 있는가?

interest = ['삼성전자', 'LG전자', 'Naver']

interest 리스트를 사용하여 아래와 같이 화면에 출력하라.

출력 예시:
삼성전자 Naver
 정답확인
interest = ['삼성전자', 'LG전자', 'Naver']
print(interest[::2])

#답지#
interest = ['삼성전자', 'LG전자', 'Naver']
print(interest[0], interest[2])
 

 

066 join 메서드

interest 리스트에는 아래의 데이터가 바인딩되어 있다.

interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']

interest 리스트를 사용하여 아래와 같이 화면에 출력하라.

- 요구역량 : join 메서드를 활용하여 리스트 내 문자들을 사용자 기준에 따라 합쳐서 출력할 수 있는가?

출력 예시:
삼성전자 LG전자 Naver SK하이닉스 미래에셋대우
 정답확인
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print(" ".join(interest))

067 join 메서드

interest 리스트에는 아래의 데이터가 바인딩되어 있다.

- 요구역량 : join 메서드를 활용하여 리스트 내 문자들을 사용자 기준에 따라 합쳐서 출력할 수 있는가?

interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']

interest 리스트를 사용하여 아래와 같이 화면에 출력하라.

출력 예시:
삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우
 정답확인
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print("/".join(interest))

068 join 메서드

interest 리스트에는 아래의 데이터가 바인딩되어 있다.

interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']

join() 메서드를 사용해서 interest 리스트를 아래와 같이 화면에 출력하라.

- 요구역량 : join 메서드 중 이스케이프 코드를 활용하여 리스트 내 문자들을 사용자 기준에 따라 합쳐서 출력할 수 있는가?

출력 예시:
삼성전자
LG전자
Naver
SK하이닉스
미래에셋대우
 
정답확인
interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print("\n".join(interest))

069 문자열 split 메서드

회사 이름이 슬래시 ('/')로 구분되어 하나의 문자열로 저장되어 있다. 

- 요구역량 : 문자열을 리스트로 변경할 수 있는 split 메서드를 활용할 수 있는가?

string = "삼성전자/LG전자/Naver"

이를 interest 이름의 리스트로 분리 저장하라. 

실행 예시
>> print(interest)
['삼성전자', 'LG전자', 'Naver']
 정답확인
string = "삼성전자/LG전자/Naver"
interset = string.split("/")
print(interset)

070 리스트 정렬

리스트에 있는 값을 오름차순으로 정렬하세요. 

- 요구역량 :sort 또는 sorted 메서드를 활용하여 리스트 내 요소를 정렬할 수 있는가?

- sort를 활용하면 그 자체로 리턴값이 없지만, sorted는 리턴 값이 있다.

data = [2, 4, 3, 1, 5, 10, 9]
 정답확인
data = [2, 4, 3, 1, 5, 10, 9]
data.sort()
print(data)

#sorted 활용
data = [2, 4, 3, 1, 5, 10, 9]
data2 = sorted(data)
print(data2)

감사합니다.