핀아의 저장소 ( •̀ ω •́ )✧

7일차(2020-11-16) 본문

Computer Science/코딩테스트_Python

7일차(2020-11-16)

_핀아_ 2020. 11. 16. 14:15

061

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

price = ['20180728', 100, 130, 140, 150, 160, 170] 출력 예시: [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] 

 

->print(nums[::2])

063

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

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 실행 예: [2, 4, 6, 8, 10] 

 

->print(nums[1::2])

064

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

nums = [1, 2, 3, 4, 5] 실행 예: [5, 4, 3, 2, 1] 

 

->print(nums[::-1])

065

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

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

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

출력 예시: 삼성전자 Naver 

 

->print(interest[0],interest[2])

066 join 메서드

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

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

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

출력 예시: 삼성전자 LG전자 Naver SK하이닉스 미래에셋대우  

 

->print(" ".join(interest))

067 join 메서드

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

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

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

출력 예시: 삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우 

 

->print("/".join(interest))

068 join 메서드

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

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

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

출력 예시: 삼성전자 LG전자 Naver SK하이닉스 미래에셋대우

 

->print("\n".join(interest))

069 문자열 split 메서드

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

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

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

실행 예시 >> print(interest) ['삼성전자', 'LG전자', 'Naver']  

 

->print(string.split("/"))

070 리스트 정렬

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

data = [2, 4, 3, 1, 5, 10, 9] 

 

->print(sorted(data))

 

071

my_variable 이름의 비어있는 튜플을 만들라.

 

->

my_variable=()

print(type(my_variable))

072

2016년 11월 영화 예매 순위 기준 top3는 다음과 같다. 영화 제목을 movie_rank 이름의 튜플에 저장하라. (순위 정보는 저장하지 않는다.)

순위영화

1 닥터 스트레인지
2 스플릿
3 럭키

->movie_rank = ("닥터 스트레인지", "스플릿", "럭키")

073

숫자 1 이 저장된 튜플을 생성하라.

 

->num = (1,)

074

다음 코드를 실행해보고 오류가 발생하는 원인을 설명하라.

>> t = (1, 2, 3) >> t[0] = 'a' Traceback (most recent call last): File "<pyshell#46>", line 1, in <module> t[0] = 'a' TypeError: 'tuple' object does not support item assignment

 

->튜플은 원소 값을 변경 할 수 없다.

075

아래와 같이 t에는 1, 2, 3, 4 데이터가 바인딩되어 있다. t가 바인딩하는 데이터 타입은 무엇인가?

t = 1, 2, 3, 4 

 

->원칙적으로 튜플은 괄호와 함께 데이터를 정의해야 하지만, 사용자 편의를 위해 괄호 없이도 동작한다.

076

변수 t에는 아래와 같은 값이 저장되어 있다. 변수 t가 ('A', 'b', 'c') 튜플을 가리키도록 수정 하라.

t = ('a', 'b', 'c'

 

-> 원소를 하나하나 바꿀 수는 없고 아예 새로 업뎃 해야한다.

t = ('A', 'b', 'c')

print(t)

077

다음 튜플을 리스트로 변환하라.

interest = ('삼성전자', 'LG전자', 'SK Hynix') 

 

->

interest = list(interest)

print(type(interest))

078

다음 리스트를 튜플로 변경하라.

interest = ['삼성전자', 'LG전자', 'SK Hynix']

 

->

interest = tuple(interest)

print(type(interest))

079 튜플 언팩킹

다음 코드의 실행 결과를 예상하라.

temp = ('apple', 'banana', 'cake') a, b, c = temp print(a, b, c)

 

->apple banana cake

080 range 함수

1 부터 99까지의 정수 중 짝수만 저장된 튜플을 생성하라.

(2, 4, 6, 8 ... 98) 

 

->

aa = tuple(range(2,99,2))

print(aa)

081 별 표현식

기본적으로 데이터 언패킹은 좌변의 변수와 우변 데이터 개수가 같아야 합니다. 하지만 star expression을 사용하면 변수의 개수가 달라도 데이터 언패킹을 할 수 있습니다. 튜플에 저장된 데이터 중에서 앞에 있는 두 개의 데이터만 필요할 경우 나머지 데이터의 언패킹 코드를 작성할 필요가 없습니다.

>> a, b, *c = (0, 1, 2, 3, 4, 5) >> a 0 >> b 1 >> c [2, 3, 4, 5]

다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 좌측 8개의 값을 valid_score 변수에 바인딩하여라.

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]

 

->

*valid_score,_,_= scores

print(valid_score)

082

다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 우측 8개의 값을 valid_score 변수에 바인딩하여라.

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4] 

 

->

_,_,*valid_score = scores

print(valid_score)

083

다음과 같이 10개의 값이 저장된 scores 리스트가 있을 때, start expression을 사용하여 가운데 있는 8개의 값을 valid_score 변수에 바인딩하여라.

scores = [8.8, 8.9, 8.7, 9.2, 9.3, 9.7, 9.9, 9.5, 7.8, 9.4]

 

->

a,*valid_score,b = scores

print(valid_score)

084 비어있는 딕셔너리

temp 이름의 비어있는 딕셔너리를 만들라.

 

->temp = {}

085

다음 아이스크림 이름과 희망 가격을 딕셔너리로 구성하라.

이름희망 가격

메로나 1000
폴라포 1200
빵빠레 1800

->icecream = {"메로나" : 1000, "폴라포" : 1200, "빵빠레" : 1800}

086

085 번의 딕셔너리에 아래 아이스크림 가격정보를 추가하라.

이름희망 가격

죠스바 1200
월드콘 1500

->

ice["죠스바"]=1200

ice["월드콘"]=1500

print(ice)

087

다음 딕셔너리를 사용하여 메로나 가격을 출력하라.

ice = {'메로나': 1000, '폴로포': 1200, '빵빠레': 1800, '죠스바': 1200, '월드콘': 1500} 실행 예: 메로나 가격: 1000 

 

->print("메로나 가격: " + str(ice["메로나"]))

088

다음 딕셔너리에서 메로나의 가격을 1300으로 수정하라.

ice = {'메로나': 1000, '폴로포': 1200, '빵빠레': 1800, '죠스바': 1200, '월드콘': 1500} 

 

->

ice["메로나"] = 1300

print(ice)

089

다음 딕셔너리에서 메로나를 삭제하라.

ice = {'메로나': 1000, '폴로포': 1200, '빵빠레': 1800, '죠스바': 1200, '월드콘': 1500} 

 

->

ice.pop("메로나")

print(ice)

 

or

 

del ice["메로나"] print(ice)

090

다음 코드에서 에러가 발생한 원인을 설명하라.

>> icecream = {'폴라포': 1200, '빵빠레': 1800, '월드콘': 1500, '메로나': 1000} >> icecream['누가바'] Traceback (most recent call last): File "<pyshell#69>", line 1, in <module> icecream['누가바'] KeyError: '누가바'

 

->딕셔너리에 없는 키를 사용했기 때문

'Computer Science > 코딩테스트_Python' 카테고리의 다른 글

9일차(2020-11-18)  (0) 2020.11.18
8일차(2020-11-17)  (0) 2020.11.17
6일차(2020-11-13)  (0) 2020.11.13
5일차(2020-11-12)  (0) 2020.11.12
4일차(2020-11-11)  (0) 2020.11.11
Comments