반응형
SMALL

기본으로 주어진

<< 코드 >>

if __name__ == '__main__':
    N = int(input())

 

append(값) - 리스트에 값을 하나 추가

insert(인덱스, 값) - 인덱스 위치에 값을 하나 추가

remove(값) - 전달한 값을 삭제 (중복된 경우 처음 나오는 값을 삭제)

pop(인덱스) - 인덱스에 위치한 값을 리턴하면서 삭제 (인자가 없으면 맨 뒤 값을 pop)

reverse() - 리스트에 들어있는 값을 역순(거꾸로)으로 변경

sort() - 리스트 내용을 정렬 (오름차순)

(reverse=True를 인자로 전달하면 내림차순 정렬이 가능)

 

 

if __name__ == '__main__':
    N = int(input())
    li = []									# 빈 리스트 생성
    
    for i in range(N):						# 명령어 입력받음
        query = input()						# 입력 받는 명령어를 공백을 문자열로 나눔
        ar = list(query.split(' '))			  
        
        if (ar[0] == 'insert'):             # 명령문에 insert가 있을 시,
            li.insert(int(ar[1]), int(ar[2])) # li 리스트에 원소 추가
        elif (ar[0] == 'remove'):			# 명령문에 remove가 있을 시,
            li.remove(int(ar[1]))			# 원소 제거
        elif (ar[0] == 'append'):			# 명령문에 append 가 있을 시,
            li.append(int(ar[1]))
        elif (ar[0] == 'sort'):				# 명령문에 sort 가 있을 시,
            li.sort()
        elif (ar[0] == 'pop'):				# 명령문에 pop 가 있을 시,
            li.pop()
        elif (ar[0] == 'reverse'):			# 명령문에 reverse 가 있을 시,
            li.reverse()
        elif (ar[0] == 'print'):			# 명령문에 print 가 있을 시,
            print(li)
             

 

 

 

더보기

 #split

>>> a = "Life is too short"
>>> a.split()
['Life', 'is', 'too', 'short']
>>> b = "a:b:c:d"
>>> b.split(':')
['a', 'b', 'c', 'd']

split 함수는문자열을 특정 구분자를 기준으로 나누어 리스트로 변환해 주는 함수

a.split()처럼 괄호 안에 아무 값도 넣어 주지 않으면 공백(스페이스, 탭, 엔터 등)을 기준으로 문자열을 나누어 준다

b.split(':')처럼 괄호 안에 특정 값이 있을 경우에는 괄호 안의 값을 구분자로 해서 문자열을 나누어 준다. 

 

- 점프 투 파이썬 02 - 2 문자열 자료형

 

 

다른 답안

if __name__ == '__main__':
    N = int(input())
    l = []
    for _ in range(N):
        s = input().split()
        cmd = s[0]
        args = s[1:]
        if cmd !="print":
            cmd += "("+ ",".join(args) +")"
            eval("l."+cmd)
        else:
            print(l)
더보기

#join

join 함수는 리스트를 특정 구분자를 포함해 문자열로 변환해 주는 함수

반응형
LIST

+ Recent posts