본문 바로가기
#개인연구 및 공부#/[python]

(2020.11.02)파이썬 300제 문제풀기 [No.061 - 070] - 리스트 2

by 착한해커 2020. 11. 2.

파이썬 300제[No.061 - 070] - 리스트2

파이썬만 가질 수 있는 데이터타입에 구애받지 않고 일괄 저장, 삭제, 통합이 가능한 자료구조인 리스트 2번째 문제풀기이다.

 

 

 

No.061 리스트 특정데이터 잘라내기

문제) price 변수에는 날짜와 종가 정보가 저장돼 있다. 날짜 정보를 제외하고 가격 정보만을 출력하라.

price = ['20180728', 100, 130, 140, 150, 160, 170]

 

입력) 슬라이싱을 활용하여 출력한다. 

price_1 = ['20180728', 100, 130, 140, 150, 160, 170]
price_2 = ['20180728', 100, 130, 140, 150, 160, 170]
del_date_price_1 = price_1[1:] # 출력할 위치 범위를 지정하여 슬라이싱(정수)
del_date_price_2 = price_2[-6:] # 출력할 위치 범위를 지정하여 슬라이싱(음수)

print(del_date_price_1)
print(del_date_price_2)

 

출력)

[100, 130, 140, 150, 160, 170]
[100, 130, 140, 150, 160, 170]

 

 

 

No.062 리스트 특정데이터 잘라내기

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

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

입력) [:::] 구문을 활용하여 출력한다. [첫번째위치:출력범위마지막위치:위치단위] 

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[::2]) # 첫번째 부터 끝까지 2단위 위치의 홀수값만 출력

 

출력)

[1, 3, 5, 7, 9]

 

 

No.063 리스트 특정데이터 잘라내기

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

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

 

입력) 62번 문제와 동일하게 [:::] 구문을 활용하여 출력한다. [첫번째위치:출력범위마지막위치:위치단위]

거듭 강조하지만 파이썬을 포함한 모든 프로그래밍언어는 처음 문자열의 시작은 0번이므로 문제의 두번째 부터 출력하려면 1로 값을 지정하여 문제를 풀어야 한다.

nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
print(nums[1::2]) # 두번째가 첫 짝수이므로 1을 지정하고 리스트 마지막 원소까지 2단위 위치의 홀수값만 출력

 

출력)

[2, 4, 6, 8, 10]

 

 

 

No.064 리스트 역방향 출력

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

nums = [1, 2, 3, 4, 5]

 

입력) 리스트에서 -1은 가장 끝 원소를 말하므로 [::-1] 로 입력하여 출력하면 마지막 원소부터 출력된다.

 

nums = [1, 2, 3, 4, 5]
print(nums[::-1]) # -1은 가장끝 원소를 말하므로 전체 범위를 -1단위로 출력하면 역방향 출력이 된다.

 

출력)

[5, 4, 3, 2, 1]

 

 

 

No.065 리스트 특정값 출력하기

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

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

 

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

출력 예시: 삼성전자 Naver

 

입력) 리스트의 각 원소 별 위치 값을 지정하여 출력한다. 문제에서는 출력예시에 [] 가 생략된 상태로 출력되야 하므로 리스트의 LG전자 원소를 지워서 출력하면 []에 묶여서 출력되므로 올바른 풀이가 아니다.

interest = ['삼성전자', 'LG전자', 'Naver']
print(interest[0], interest[2]) # 직접 출력할 원소 위치값을 지정하여 출력해야 []가 없이 출력된다.

interest_2 = ['삼성전자', 'LG전자', 'Naver']
del interest_2[1] # 리스트에 LG 전자 원소를 지우고 출력하면 []에 묶여서 출력되므로 이 방법은 문제에서 요구한 방법은 아니다.
print(interest_2) 

 

출력)

삼성전자 Naver
['삼성전자', 'Naver']

 

 

 

No.066 join 메소드

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

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

 

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

 

출력 예시:

삼성전자 LG전자 Naver SK하이닉스 미래에셋대우

 

입력) join() 메소드는 리스트의 속성들을 스트링 값으로 변경하는 기능을 한다. 즉 리스트의 []를 벗겨버리는 역할을 한다. 특정 값을 구분자로 지정하여 출력하면 리스트를 문자열로 변경하여 출력한다.

interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print(" ".join(interest)) # 공백을 구분자로 지정하여 리스트의 속성 간 공백으로 구분짓고 출력되도록 한다.

 

출력)

삼성전자 LG전자 Naver SK하이닉스 미래에셋대우

 

 

 

No.067 print 기초

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

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

 

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

 

출력 예시:

삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우

 

 

입력) 66번과 동일하게 join()을 사용한다. 구분자는 "/"주면 된다.

interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print("/".join(interest)) # "/"을 구분자로 지정하여 리스트의 속성을 구분짓고 문자열이 출력되도록 한다.

 

출력)

삼성전자/LG전자/Naver/SK하이닉스/미래에셋대우

 

 

 

No.068 join 메소드

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

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

 

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

출력 예시:

삼성전자

LG전자

Naver

SK하이닉스

미래에셋대우

 

입력) join()활용한다. 각 속성 출력 후 다음 라인으로 이동되어 출력되므로 개행 이스케이프 문자인 "\n"를 구분자로 입력하여 푼다.

interest = ['삼성전자', 'LG전자', 'Naver', 'SK하이닉스', '미래에셋대우']
print("\n".join(interest)) # "\n"을 구분자로 지정하여 리스트의 속성을 구분짓고 속성마다 개행되어 출력되도록 한다.

 

출력)

삼성전자
LG전자
Naver
SK하이닉스
미래에셋대우

 

 

 

No.069 문자열 split 메소드 

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

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

 

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

실행 예시

>> print(interest)

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

 

 

입력) split()은 지정된 구분자를 기준으로 문자열을 구분짓고 리스트로 묶는 기능을 한다.

"/"로 구분되어 있으므로 split("/")로 호출하고 interest 이름의 리스트로 분리 저장 하라고 하였으니 interest 변수지정 후 출력한다.

string = "삼성전자/LG전자/Naver"
interest = string.split("/")
print(interest)

 

출력)

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

 

 

 

No.070 리스트 속성값 정렬

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

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

 

입력) 정렬에 사용되는 sort()를 호출하여 리스트의 속성을 오름차순으로 정렬한다.

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

 

출력)

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

 

댓글