>  기사  >  백엔드 개발  >  Python의 HackerRank 문제 - 기본 데이터 유형 목록

Python의 HackerRank 문제 - 기본 데이터 유형 목록

WBOY
WBOY원래의
2024-09-04 14:31:101048검색

Problema HackerRank em Python - Base Data Types Lists

이 Python 코드는 사용자 제공 명령을 기반으로 목록에 대해 일련의 작업을 수행하도록 설계되었습니다. 코드가 어떻게 작동하는지 단계별로 분석해 보겠습니다.

if __name__ == '__main__':
    N = int(input())
    l = []
    while(N>0):
        cmd_l = input().split()
        if(len(cmd_l) == 3 and cmd_l[0] == "insert"):
            #insert statement
            l.insert(int(cmd_l[1]),int(cmd_l[2]))
        elif(len(cmd_l) == 2 and (cmd_l[0] == "remove" or cmd_l[0] == "append")):
            if(cmd_l[0] == "remove"):
                l.remove(int(cmd_l[1]))
            elif(cmd_l[0] == "append"):
                l.append(int(cmd_l[1]))
        elif(len(cmd_l) == 1):
            if(cmd_l[0] == "sort"):
                l.sort()
            elif(cmd_l[0] == "reverse"):
                l.reverse()
            elif(cmd_l[0] == "pop"):
                l.pop()                
            elif(cmd_l[0] == "print"):
                print(l)
        N -= 1

만약 __name__ == '__main__':

  • 이 줄은 스크립트가 직접 실행되고 있는지 확인합니다. 파일이 프로그램의 진입점인 경우에만 이 블록 내의 코드가 실행되도록 연습을 채택했습니다.

N = int(입력())

  • 프로그램은 사용자가 변수 N에 저장된 정수를 입력할 것으로 예상합니다. 이 숫자는 사용자가 수행할 작업 수를 나타냅니다.

l = []

  • 작업이 수행될 때 요소를 저장하는 데 사용되는 빈 목록입니다.

동안(N>0):

  • N이 0보다 큰 동안 계속 실행되는 while 루프가 시작됩니다. 이는 사용자가 수행하려는 각 작업에 대해 한 번씩 루프가 N번 실행된다는 의미입니다.

cmd_l = 입력().split()

  • 루프 내에서 프로그램은 사용자가 분할() 메서드를 사용하여 문자열 목록(cmd_l)으로 분할된 텍스트 줄을 입력할 때까지 기다립니다. cmd_l 목록의 각 요소는 수행할 작업의 일부를 나타냅니다.

if(len(cmd_l) == 3 및 cmd_l[0] == "삽입"):

  • 이 줄은 작업이 세 부분으로 구성된 "삽입" 명령인지 확인합니다(cmd_l은 길이가 3이어야 하고 첫 번째 요소는 "삽입"이어야 함).

l.insert(int(cmd_l[1]),int(cmd_l[2]))

  • 위 조건이 true일 경우 리스트 l의 insert 메소드가 호출됩니다. 인수는 문자열에서 정수로 변환됩니다. cmd_l[1]은 요소가 삽입될 위치이고, cmd_l[2]는 삽입될 요소입니다.

elif(len(cmd_l) == 2 and (cmd_l[0] == "제거" 또는 cmd_l[0] == "추가")):

  • 이 줄은 작업이 두 부분으로 구성된 "제거" 또는 "추가" 명령인지 확인합니다. cmd_l의 길이는 2이고 첫 번째 요소는 "제거" 또는 "추가"여야 합니다.

if(cmd_l[0] == "제거"):
l.remove(int(cmd_l[1]))
elif(cmd_l[0] == "추가"):
l.append(int(cmd_l[1]))

  • 명령어(제거 또는 추가)에 따라 목록 l의 해당 메소드가 호출됩니다. 제거의 경우 cmd_l 요소(정수로 변환됨)가 목록에서 제거됩니다. 추가의 경우 cmd_l[[1](정수로 변환) 요소가 목록 끝에 추가됩니다.

elif(len(cmd_l) == 1):

  • 작업이 단일 부분 명령인지 확인합니다(cmd_l의 길이는 1이어야 함).

if(cmd_l[0] == "정렬"):
l.sort()
elif(cmd_l[0] == "역방향"):
l.reverse()
elif(cmd_l[0] == "팝"):
엘.팝()
elif(cmd_l[0] == "인쇄"):
인쇄(l)

  • 명령어(sort, reverse, pop, print)에 따라 목록 l의 해당 메소드가 호출됩니다. sort는 목록을 정렬하고, reverse는 요소의 순서를 반대로 하고, pop은 마지막 요소를 제거하고, print는 목록을 인쇄합니다.

N -= 1

  • 루프가 끝나면 N이 1씩 감소하여 작업이 수행되었음을 나타냅니다. 이는 루프가 종료되는 N이 0이 될 때까지 계속됩니다.

위 내용은 Python의 HackerRank 문제 - 기본 데이터 유형 목록의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.