题解 | #计算日期到天数转换#

计算日期到天数转换

https://www.nowcoder.com/practice/769d45d455fe40b385ba32f97e7bcded

package main

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

func calculate(s string) int {
    // 初始化 map
    m := make(map[int]int, 0)
    for i:=1; i<=12; i++ {
        if i == 2 {
            m[i] = 28
        } else if i == 1 || i == 3 || i == 5 || i == 7 || i == 8 || i == 10 || i == 12 {
            m[i] = 31
        } else {
            m[i] = 30
        }
    }

    date := strings.Split(s, " ")
    year, _ := strconv.Atoi(date[0])
    month, _ := strconv.Atoi(date[1])
    day, _ := strconv.Atoi(date[2])

    // 判断闰年
    if year % 4 == 0 && year % 100 != 0 {
        m[2] = 29
    }

    var days int
    for i:=1; i<month; i++ {
        days += m[i]
    }

    days += day

    return days
}

func main() {
    inputReader := bufio.NewReader(os.Stdin)
    line, _, _ := inputReader.ReadLine()

    date := string(line)

    fmt.Println(calculate(date))
}
// 本题输入一个带空格的字符串,所以采用:bufio.NewReader(os.Stdin)

全部评论

相关推荐

05-27 14:57
西北大学 golang
强大的社畜在走神:27届真不用急,可以搞点项目、竞赛再沉淀沉淀,我大二的时候还在天天打游戏呢
投递华为等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务