😎풀이

  1. colors를 순회하며, 원형 타일 기준 양 옆 색상을 확인
    1-1. 양 옆 색상이 다르다면, 교차 그룹이 아님
    1-2. 내 색상과 양 옆 색상이 같다면, 교차 그룹이 아님
    1-3. 그 외의 교차 그룹 카운트
  2. 카운트 된 교차 그룹의 수 반환
function numberOfAlternatingGroups(colors: number[]): number {
    let alternate = 0
    const n = colors.length
    for(let i = 1; i <= n; i++) {
        const prev = colors[i - 1]
        const cur = colors[i % n]
        const next = colors[(i + 1) % n]
        if(prev !== next) continue
        if(prev === cur) continue
        alternate++
    }
    return alternate
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글