Hacker rank Challenge/python

python HackerRank Challenge 2일차

반응형

요약하면 list안의 정수들이 다 더해져서 나오게 만드는 프로그램을 짜라는 것이다. 

 

 

#!/bin/python3

import os
import sys

#
# Complete the simpleArraySum function below.
#
def simpleArraySum(ar):
    #
    # Write your code here.
    #

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    ar_count = int(input())

    ar = list(map(int, input().rstrip().split()))

    result = simpleArraySum(ar)

    fptr.write(str(result) + '\n')

    fptr.close()

 일단 이렇게는 이미 주어져있다.  우리가 해야할 것은 def 함수를 작성하기만하면 된다. 

 

fptr 부분은 python에서 기본제공해주는 os 모듈을 사용한 것이고

'w'는 write의 약자로 쓰겠다는 의미이다. 정확히 os.environ['OUTPUT_PATH']를 쓰겠다는 의미가 된다.

 

입력받은 것을 정수로 변환하여 ar_count에 넣고

입력받은 것을 '화이트 스페이스'를 지우고 list에 넣어서 ar에 저장한다.

 

result에는 simpleArraysum 이라는 함수실행 결과저장한다.

 

ftpr은 아까 썼던 'output_path'를 의미하는데 

ftpr.write 라고쓰고 (  )안에 뭘 쓸 것인지 적어야 내용이 기록된다.

즉 str(result) 하면  simpleArraysum 이라는 함수실행 결과를 문자열로 바꿔서 출력하겠다는 의미이며

 

\n을 사용함으로써 한 줄의 '화이트 스페이스'를 만든다는 의미이다.

 

ftpr.close()를 해주면 이제 끝낸다는 의미이다.

 

이제 def 함수에 무슨 코드가 들어가야 하냐면 

 

list 값들의 합을 구해줄 sum( ) 이라는 함수를 사용할 것이다.

 

#!/bin/python3

import os
import sys

#
# Complete the simpleArraySum function below.
#
def simpleArraySum(ar):
    #
    # Write your code here.
    return sum(ar)
    #

if __name__ == '__main__':
    fptr = open(os.environ['OUTPUT_PATH'], 'w')

    ar_count = int(input())

    ar = list(map(int, input().rstrip().split()))

    result = simpleArraySum(ar)

    fptr.write(str(result) + '\n')

    fptr.close()

 

return sum(ar)이라고 써주면 list에 입력된 정수들이 더해진뒤 return해준다.

 

'Hacker rank Challenge > python' 카테고리의 다른 글

30 Days Challenge 2일차  (0) 2021.01.18
30 Days Challenge 1일차  (0) 2021.01.17
30 Days Challenge 0일차  (0) 2021.01.16
HackerRank Challenge 3일차  (0) 2021.01.15
python HackerRank Challenge 1일차  (0) 2021.01.13