python 3.6 - 두 개의 날짜를 8자리의 정수로 입력 받아 빠른 날짜부터 늦은 날짜의 경과일을 출력하려면?

조회수 1138회

예를 들면 20180101 20171231 <- 이것을 input으로 입력받고 split으로 나눈다음,

2017.12.31~2018.01.01=1 <- 이런 식으로 출력하고싶습니다.

*두번째 예입니다.

20160228 20160301 <- 입력

2016.02.28~2016.03.01=2 <- 출력

이 문제를 import datetime 을 해서 해야 할지 안써도 될지 머리 속이 복잡해져서 생각이 잘 안떠오르네요. 부탁드립니다.

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

  • GO 언어로 해보기(윗 답변을 그대로 옮겨봤습니다.)

    package main
    
    import (
        "fmt"
        "sort"
        "strings"
        "time"
    )
    
    func main() {
        temp := "20180101 20171231"
        dates := strings.Split(temp, " ")
        sort.Strings(dates)
    
        firstDatetime, _ := time.Parse("20060102", dates[0])
        secondDatetime, _ := time.Parse("20060102", dates[1])
    
        diff := secondDatetime.Sub(firstDatetime)
        out := time.Time{}.Add(diff)
    
        fmt.Printf("%s~%s=%d\n", dates[0], dates[1], out.Day())
    }
    

    20171231~20180101=2

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)