아이돌 생일 광고

강동휘·2022년 12월 7일
0

프로그래머스

목록 보기
6/6
post-thumbnail

/*

아이돌 생일 광고

아이돌을 좋아하는 다슬님은 멤버들의 생일에 따라 문장을 조합하여 생일 광고를 하려고 합니다.
광고 문구는 태어난 달, 태어난 일, 태어난 년도의 끝자리 숫자로 대응되는 문구를 조합하여 완성합니다.
각 멤버들의 생일과 완성된 문구는 다음과 같습니다.

진    92.12.04   행복한 크리스마스처럼, 빛나는 너, 네가 가는 길 끝에 서 있을게
슈가  93.03.09    산뜻한 봄내음처럼, 포근한 너, 너라서 하염없이 사랑해
제이홉 94.02.18    투명한 이슬같이, 찬란한 너, 네 꽃길의 정원사가 될게
RM   94.09.12    맑은 가을 하늘을 닮아, 귀여운 너, 네 꽃길의 정원사가 될게
지민  95.10.13    단풍이 물들듯, 두근대는 너, 너의 모든 것을 기억할게
정국  97.09.01    맑은 가을 하늘을 닮아, 두근대는 너, 너는 나의 행복이야

예를 들어, 방탄소년단 진이 태어난 달은 12월이고 태어난 일은 4일, 태어난 년도의 끝자리 숫자는 2이므로
'행복한 크리스마스처럼,' + '빛나는 너,' + '네가 가는 길 끝에 서 있을게'
를 모두 조합한 문장이 완성됩니다.

우리는 이 과정을 통해 남은 멤버의 생일 광고 문구를 만들려고 합니다.
아이돌 멤버들의 생일과 광고 문구가 담긴 2차원 배열 birthdays와 남은 멤버의 생일이 담긴 문자열 day가 주어질 때 남은 멤버의 생일 광고 문구를 리턴하세요.

단, birthdays의 각 행은 [멤버의 생일, 광고 문구]로 이루어져 있습니다.
태어난 달에 대응되는 문구는 1월부터 12월까지 총 12가지로 구성되어있습니다.
태어난 일에 대응되는 문구는 1일부터 12일까지 총 12가지로 구성되어있습니다.
만약, 13일이라면 1일에 대응되는 문구를, 14일 이라면 2일에 대응되는 문구를 사용해 조합해주세요.
태어난 년도의 끝자리 숫자에 대응되는 문구는 0부터 9까지 총 10가지로 구성되어있습니다.
멤버의 생일은 숫자로 이루어진 6자리 문자열입니다.
대응되는 문구가 없는 경우는 없습니다.



입출력 예시
--------------------------------------------------------------------------------------------------------------------------------
input                                                                            output
--------------------------------------------------------------------------------------------------------------------------------
birthdays                                                          day   
--------------------------------------------------------------------------------------------------------------------------------
[['921204', '행복한 크리스마스처럼, 빛나는 너, 네가 가는 길 끝에 서 있을게']     '921230'     '행복한 크리스마스처럼, 찬란한 너, 너의 모든 것을 기억할게'
,['930309', '산뜻한 봄내음처럼, 포근한 너, 너라서 하염없이 사랑해']
,['940218', '투명한 이슬같이, 찬란한 너, 네 꽃길의 정원사가 될게']
,['940912', '맑은 가을 하늘을 닮아, 귀여운 너, 네 꽃길의 정원사가 될게']
,['951013', '단풍이 물들듯, 두근대는 너, 너의 모든 것을 기억할게']
,['970901', '맑은 가을 하늘을 닮아, 두근대는 너, 너는 나의 행복이야']]

*/


function advertise(birthdays, day) {
  // 여기에서 작업해주세요.
  const monthList = {}
  const dayList = {}
  const yearList = {}
  birthdays.forEach((el)=>{
    const m = el[0].slice(2,4)
    const d = Number(el[0].slice(4,6)) % 12
    const y = el[0][1]
    monthList[m] =el[1].split(',')[0]
    dayList[d]=el[1].split(',')[1]
    yearList[y]=el[1].split(',')[2]
    })

  
  return `${monthList[day.slice(2,4)]},${dayList[Number(day.slice(4,6)) % 12]},${yearList[day[1]]}`
}

--------------------실행함수------------------------------------

advertise(
        [
          [
            "921204",
            "행복한 크리스마스처럼, 빛나는 너, 네가 가는 길 끝에 서 있을게",
          ],
          ["930309", "산뜻한 봄내음처럼, 포근한 너, 너라서 하염없이 사랑해"],
          ["940218", "투명한 이슬같이, 찬란한 너, 네 꽃길의 정원사가 될게"],
          [
            "940912",
            "맑은 가을 하늘을 닮아, 귀여운 너, 네 꽃길의 정원사가 될게",
          ],
          ["951013", "단풍이 물들듯, 두근대는 너, 너의 모든 것을 기억할게"],
          ["970901", "맑은 가을 하늘을 닮아, 두근대는 너, 너는 나의 행복이야"],
        ],
        "951230"
      )
profile
👨🏻‍💻프론트엔드에서 pm으로 커리어 전향을 희망하는

0개의 댓글