반응형
요약하면 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 |