Recommanded Free YOUTUBE Lecture: <% selectedImage[1] %>

A Very Big Sum

문제

표준입력으로 배열의 크기 N을 입력받는다. 다음 표준입력에서 N크기 만큼의 숫자를 입력 받아서, 이들을 모두 더한다. 입력 값은 매우 크다.

입력 형식

  1. 표준 입력으로 배열의 크기 N을 입력 받는다.
  2. 다음 줄에서 숫자를 입력 받아서 N 크기의 배열에 넣는다. 숫자간의 구분자는 공백문자로 한다.

출력 형식

배열에 있는 값들을 더해서 출력한다.

제약

풀이

golang
package main

import (
    "bufio"
    "fmt"
    "os"
    "strconv"
    "strings"
)

func aVeryBigSum(n int, ar []int) int64 {
    var rtv int64
    for _, v := range ar {
        rtv += int64(v)
    }
    return rtv
}
func main() {
    reader := bufio.NewReader(os.Stdin)
    line, _, _ := reader.ReadLine()
    n, _ := strconv.Atoi(string(line))

    line, _, _ = reader.ReadLine()
    ar := strings.Split(string(line), " ")

    ai := make([]int, n)
    for k, v := range ar {
        iv, _ := strconv.Atoi(v)
        ai[k] = iv
    }
    sum := aVeryBigSum(n, ai)
    fmt.Println(sum)
}
  • bufio.NewReader를 이용해서 표준입력(os.Stdin)으로 부터 입력기를 생성한다.
  • ReadLine() 메서드로 표준입력을 받고, strconv.Atoi()로 표준입력으로 읽어온 문자열을 integer 로 변환한다.
  • 이 코드는 배열의 크기 등에 대한 검사를 하지 않는다.
python
#!/usr/bin/python
import sys

def aVeryBigSum(n, ar):
    sum = long(0)
    for i in ar:
        sum += int(i)
    return sum

n = sys.stdin.readline()
s = sys.stdin.readline()
ar = s.split(' ')
print (aVeryBigSum(n, ar))