////
Search
Duplicate

일기 알고리즘 고민

생성일
2022/01/30 05:41
속성
태그
제나
속성 1

[ 가장 중요한 원칙 ]

1) 모든 사람은 하루에 1개 이상의 일기(타인의 일기)를 받아보아야 한다. (일기를 작성한 사람 + 작성하지 않은 사람 모두)
2)일기를 작성한 모든 사람은, 반드시 24시간 내에 하나 이상의 코멘트를 받아볼 수 있어야 한다.

1) 모든 사람은 하루에 1개 이상의 일기(타인의 일기)를 받아보아야 한다. (일기를 작성한 사람 + 작성하지 않은 사람 모두)

ex)
1/1 일기작성 여부
a
b
c
d
e
x
f
x
g
x
h
x
i
x
질문) 1/1의 기준 → 1월 2일 00시(x), 1월 2일 2시(새벽 2시)(ㅇ) → 가능한지?
한 사람의 일기가 3명에게 도착한다고 가정
a의 일기 → b, c, d에게 도착
b의 일기 → c, d, e에게 도착
c 의 일기 → d, e, f 에게 도착
d의 일기 → e., f, g 에게 도착
한다고 할 시, a와 h와 i는 단 한편의 일기도 받아보지 못한다 !!! → 이런 상황이 일어나면 안됨
위의 가정아래에서
b : 일기 1개 받아봄(a)
c : 일기 2개 받아봄(a,b)
d : 일기 3개 받아봄(a,b,c,)
e : 일기 3개 받아봄(b,c,d)
f : 일기 2개 받아봄(c,d)
g : 일기 1개 받아봄(d)
a, h, i → 일기 1개도 못받아봄 → 이걸 방지하기 위한 방법?

2) 일기를 작성한 모든 사람은, 반드시 24시간 내에 하나 이상의 코멘트를 받아볼 수 있어야 한다.

위의 경우, a, b, c, d는 반드시 하나 이상의 코멘트를 받아봐야 한다.
a의 일기 → 3명에게 도착함
b의 일기 →3명에게 도착함
c의 일기 → 3명에게 도착함
d의 일기 → 3명에게 도착함
누군가의 일기가 타인에게 도착하면, 24시간 후에 자동소멸됨
+ 자기자신이 보낸 코멘트만 확인할 수 있음
만약 한 사람이 받을 수 있는 최대 코멘트가 3개라고 가정한다면?
a가 3명의 코멘트를 받게 되는 순간, 다른 사람의 일기 목록에서 사라진다!
ex. a의 일기가 → b,c,d,e,f에게 도착함(총 5명)
이 때, b,c,d가 코멘트를 달았다 → 그럼 e,f의 목록에서 바로 삭제
24시간 동안 반드시 하나 이상의 코멘트를 받아야 하는데 !!
그럼 1차전송 → 2차전송 → 3차전송의 알고리즘이 있어야 할 것 같음
ex. a가 일기를 작성하고, 1차전송으로 3명에게 도착함 (b,c,d)
→ 3시간 동안 아무도 답장을 안해줌
→ 그럼, 또 다른 사람 e,f,g에게 전송(2차 전송)
→ 6시간 동안 아무도 답장을 안해주면 h,i,j,k에게 전송(3차 전송)
→ 3차 전송이후에도 답장이 안오면? → ‘ 오늘은 답장이 오지 않았어요 ㅜㅜ ‘ 라는 식의 멘트를 띄워줘야 할 것 같음 + 답장을 받기 위해서는 이런 내용이 들어가면 좋아요 ! 식의 유도멘트 ,,, ?
제한 해야 하는 것? (제한 해줘야 하나? 고민되는 것들)
한 사람이 최대 코멘트를 몇 개 받을 수 있게 할건지? → 개인적으로, 이건 꼭 필요한지 잘 모르겠음. 1개 이상만 보장되면, 1개가 되든 10개가 되든(10개받으면 더 좋은거 아닌가)
한 사람이 받을 수 있는 최대 일기의 수? → 이건 필요할 것 같기도 한게, 갑자기 일기 10개 도착하면 코멘트 써주기 너무 귀찮을것 같은데 ... 괜찮나?
일기 전송 시간을 고정하는게 좋나?(ex. 밤 9시 ~ 새벽 2시)

3) 온도!!!

온도의 기준
1) 코멘트의 질(1점 ~ 5점)
2) 코멘트의 수(하루에 1개의 코멘트를 달아주면 1점, 2개를 달아주면 2점 ~ )
3) 코멘트의 순서!!!!
이건 새롭게 추가된 기준
추가한 이유
분명 일기가 뿌려지게 되면, 코멘트가 빠르게 달리는 일기가 있을거고 코멘트가 잘 안달리는 일기가 있을 것이라 예상
이 때, 코멘트가 잘 안달리는 일기는 계~~ 속 안달릴 가능성이 높음
→ 아직 아무도 코멘트를 달지 않은 일기에 첫 번째로 코멘트를 달면, 더 높은 점수를 주는 것!
→ ex. 화면에서 보여줄 때 → 가장 먼저 코멘트를 달고 온도를 빠르게 높혀보세요!.. 이런식,,, ?
→ 코멘트를 2번째, 3번쨰로 달때는 뭐 0.5점이 부여되면
→ 첫번째로 달았을 때는 1점이 부여되는 식으로 ,, ?
그룹을 나눠서 (온도 상위권 / 중위권 /하위권) → 그 그룹 안에서 일기를 주고받게 하는게 초반에는 불가능할거라고 생각함, 왜냐면 초반에는 사람들 다 온도 똑같을것임(어느정도 활동성이 생긴 이후에 → 온도가 갈릴 것이라 예상)
그래서 온도 → 추후에 bm으로 붙히는게 어떨지?
온도가 높은

[회의 (니아, 제나) ]

1.
모든 사람은 하루에 1개 이상의 일기를 받아보아야 한다 -> 충족, 최소 1개~최대 10개로
2.
일기를 작성한 모든 사람은 반드시 24시간 내에 하나이상의 코멘트를 받아야 한다
안될수도 있음 (0개 받는 케이스도 고려해서 기획)
a의 일기를 몇명에게 보낼지 정의되면 좋음(제나)
3.
일기전송시간
고정되는게 좋다(시간 정의 필요)
하루시간 조정 가능(ex. 1/1이 새벽 2시까지)
코멘트는 시간 고정 필요 없음
4.온도
1,2번째 기준은 가져감
3번째 기준은, 나중에 봐서 가능하면 추가
5.
코멘트 open 조건 변경
기존 : 일기 작성하면 코멘트 open
변경 : 코멘트 작성하면 코멘트 open