[코딩테스트]백준 - 나이 계산하기(16199)

Adela·2020년 8월 2일
0

백준온라인저지

목록 보기
43/53
post-thumbnail

문제

나이 계산하기(16199)

해결한 코드

var fs = require('fs');
var input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
var birthDate = input[0].split(' ').map((e) => e / 1)
var nowDate = input[1].split(' ').map((e) => e / 1)
var age = nowDate[0] - birthDate[0]
var manAge = 0
var countAge = age + 1
var yearAge = age
if (age !== 0) {
    if (nowDate[1] > birthDate[1]) {
        manAge = age
    } else if (nowDate[1] < birthDate[1]) {
        manAge = age - 1
    } else {
        if (nowDate[2] < birthDate[2]) {
            manAge = age -1
        } else if (nowDate[2] >= birthDate[2]) {
            manAge = age 
        }
    }
}
console.log(manAge + '\n' + countAge + '\n' + yearAge)

풀이

1. 생년월일과 기준날짜를 배열로 만든다.

[연도, 월, 일]로 저장된다.

2. 생년월일의 기준날짜의 각 연도, 월, 일을 빼 나이를 계산한다.

  • 세는 나이 : 연도를 뺀 값에 + 1
  • 연 나이 : 연도를 뺀 값
  • 만 나이 :
    • 생년월일의 월이 기준 월을 지나지 않았으면 연도를 뺀 값 -1
    • (두 날짜의 월이 같으면) 생년월일의 일이 기준 일을 지나지 않았으면 연도를 뺀 값 -1

나이 계산을 잘 못하는 것 같다;

profile
개발 공부하는 심리학도

0개의 댓글