본문으로 바로가기

HackerRank Python Solution / Lists

category Develop/hackerrank.com 2022. 1. 10. 02:24

 

 

Lists

 if __name__ == '__main__':

    N = int(input())
    result = []
    for i in range(0, N):
        
        tmp_str = input()
        tmp_str_list = tmp_str.strip().split(" ")
        cmd = tmp_str_list[0]
        
        if cmd == "print":
            print(result)
        elif cmd == "insert":
            idx = int(tmp_str_list[1])
            val = int(tmp_str_list[2])
            result.insert(idx, val)
        elif cmd == "remove":
            val = int(tmp_str_list[1])
            result.remove(val)
        elif cmd == "append":
            val = int(tmp_str_list[1])
            result.append(val)
        elif cmd == "sort":
            result.sort()
        elif cmd == "reverse":
            result.reverse()
        elif cmd == "pop":
            result.pop()

커맨드(cmd), 인덱스(idx), 값(val)을 입력하면 해당 함수를 적용한 것처럼 리스트를 반환하는 코드이다.

 

 

해설

커맨드(cmd), 인덱스(idx), 값(val)을 입력하면 해당 함수를 적용한 것처럼 리스트를 반환하는 코드이다.

 

List type

리스트 = [요소1, 요소2, ...]
stock = ['삼성전자', 'LG전자']​

파이썬에서 리스트는 요솟값들을 쉼표를 통해 구분하고 대괄호를 통해 집합시킨다.
리스트는 인덱싱과 슬라이싱을 통해 쉽게 사용할 수 있다.

 

인덱싱(indexing)

>>> stock = ['삼성전자', 'LG전자', 'SK하이닉스']

# 인덱싱
>>> stock[1]
'LG전자'
>>> stock[3]
list index out of range

# 슬라이싱 → :
>>> stock[1:]
['LG전자', 'SK하이닉스']
>>> stock[:1]
['삼성전자']
>>> stock[1:2]
['LG전자']

 

각종 함수

 

insert

# 리스트명.insert(인덱싱 위치, 값)

>>> stock = ['삼성전자', 'LG전자', 'SK하이닉스']
>>> stock.insert(1, '현대차')
['삼성전자', '현대차', 'LG전자', 'SK하이닉스']
   
 

append

# 리스트명.append(값)

>>> stock = ['삼성전자', 'LG전자', 'SK하이닉스']
>>> stock.append(1, '현대차')
>>> stock
append() takes exactly one argument (2 given)

>>> stock.append('현대차')
>>> stock
['삼성전자', 'LG전자', 'SK하이닉스', '현대차']

append는 insert와 달리 삽입위치를 지정할 수 없고, 마지막 위치로 삽입된다.

 

remove

# 리스트명.remove(값)

stock = ['삼성전자', 'LG전자', 'SK하이닉스', '현대차']
stock.remove('현대차')
stock
>>> ['삼성전자', 'LG전자', 'SK하이닉스']

 

pop

# 리스트명.pop(인덱싱 위치)

stock = ['삼성전자', 'LG전자', 'SK하이닉스', '현대차']

stock.pop('3')
>>> '현대차'
stock
>>> ['삼성전자', 'LG전자', 'SK하이닉스']

pop은 리스트의 인덱싱위치에 있는 요소를 돌려주고, 그 요소를 삭제한다.

pop() 같이 인덱싱 위치를 지정하지 않는 경우 마지막 요소를 돌려주고 삭제한다. 

 

sort

# 리스트명.sort()

>>> number = [2, 4, 3, 7, 5]
>>> number.sort()
>>> number
[2, 3, 4, 5, 7]

리스트를 순방향으로 정렬한다.

 

sorted 함수와 비교

2022.01.01 - [Develop/hackerrank.com] - HackerRank Python Solution / Find the Runner-Up Score!

 

HackerRank Python Solution / Find the Runner-Up Score!

Runner-Up Score 준우승 점수를 찾는 코드이다. if __name__ == '__main__': n = int(input()) arr = map(int, input().split()) print(sorted(set(arr), index=False)[1]) 해설 map number1 = [1, 2, 3] number..

bohemihan.tistory.com

 

reverse

# 리스트명.reverse()

>>> stock = ['삼성전자', 'LG전자', 'SK하이닉스']
>>> stock.reverse()
>>> stock
['SK하이닉스', 'LG전자', '삼성전자']

리스트를 역방향으로 정렬한다.