Java(96)
-
[사전캠프] 랜덤 닉네임 생성기
문제 : 랜덤한 닉네임을 생성하는 코드를 작성해보세요.조건 : 사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 출력할 수 있다.package generator;import java.util.ArrayList;import java.util.Arrays;import java.util.List;import java.util.Random;/** * 사용자는 최소 27가지 이상의 닉네임 중 하나를 랜점으로 출력 할 수 있다. * 사용 가능한 키워드는 {기절초풍, 멋있는, 재미있는}, {도전적인, 노란색의, 바보같은}, {돌고래, 개발자, 오랑우탄} 이다. * 키워드 그룹에서 하나씩 키워드를 랜덤하게 선택해 닉네임을 생성하고 출력한다. */public class Main { public static ..
2024.08.13 -
[Java] PriorityQueue
1. PriorityQueue? 'PriorityQueue' 클래스는 힙 데이터 구조에 기반한 우선순위 큐이다. 해당 큐는 구성 시 지정된 순서(요소의 자연적 순서 또는 명시적 비교기에 의해 부과한 순서)에 따라 요소를 정렬한다. 요소에 대한 검색 작업(poll, remove, peek 등)을 하면 큐의 헤드에 접근한다. 우선순위 큐의 헤드는 지정된 순서와 관련해 가장 작은 요소를 말한다. 만약 여러 요소가 최소 값으로 묶여있다면 큐의 헤드는 요소들 중 하나이다(즉, 묶음이 임의로 끊어진다). 우선순위 큐는 'null' 요소를 허용하지 않는다. 또한 자연적 순서에 의존하는 우선순위 큐의 경우 비교 불가능한 객체의 삽입도 허용하지 않는다(해당 경우 객체를 삽입하면 ClassCastException 이 발..
2024.08.10 -
[클론 코딩] 네이버 카페 - 댓글 삭제
네이버 카페 댓글은 삭제시 2가지 방식으로 삭제되었음을 사용자에게 보여준다.답글이 달린 댓글의 경우 '삭제된 댓글'이라는 메시지를 노출그 외의 경우 댓글 노출 목록에서 삭제(=DB에 정보가 없으니 당연함) 즉, 주의할 점은 답글이 달린 댓글이라는 건데 단순히 메시지만 노출해주면 될 것 같지만, 중요한건 댓글이 삭제되더라도 해당 댓글만 삭제될 뿐 나머지 댓글(+답글)들은 삭제 전과 같은 순서로 계속 노출되어야 한다는 것이다. 이런 부분 때문에 이전에 댓글 정보에 그룹 넘버를 지정해 기존 순서를 유지할 수 있도록 한 것이다. 또한 '댓글수'와 '답글수'를 따로 계산할 요량으로 변수를 두었지만 이는 댓글 삭제시 댓글수가 변경되어 기존에 생각했던데로 그룹번호로 쓰는데 문제가 있어 '그룹번호'와 '댓글수'로..
2024.06.10 -
[클론 코딩] 네이버 카페 - 댓글 수정
네이버 카페는 댓글 수정시 댓글의 '본문'을 수정할 수 있으며, 변경된 닉네임은 적용이 되지 않는다. 또한 작성일 정보가 수정일 정보로 바뀌어 사용자에게 제공된다. Commentpackage CloneCoding.NaverCafe.domain.comment;@Entity@Table(name = "COMMENT")@Getter@Builder@NoArgsConstructor(access = AccessLevel.PROTECTED)@AllArgsConstructorpublic class Comment { public void update(String body, LocalDateTime updateAt) { this.body = body; this.updateAt = updateA..
2024.06.10 -
[클론 코딩] 네이버 카페 - 댓글 읽기
네이버 카페는 사용자에게 댓글을 보여줄 때, '댓글'과 '답글' 2가지 종류로 보여준다. 댓글의 경우 작성된 순서대로 노출된다. 하지만 답글의 경우 대상 댓글의 하위에 노출되며 이후 생성되는 답글은 작성순으로 노출된다. 즉 답글은 댓글에 끼어들어 노출된다는 것이다. 그러니 단순하게 말하자면 하나의 댓글과 해당 댓글의 하위 답글(들)을 하나의 그룹으로 봤을 때, 이런 그룹의 집합이 댓글 목록이 될 것이다. 이 목록은 기본적으로 작성순(내림차순)으로 정렬되며, 가장 최근 댓글을 가진 그룹부터 노출 된다는 이야기다. 이렇기에 기존에 댓글 생성시 댓글과 답글로 나누어 생성되게 하였고, 게시글에서도 카운트를 따로 한 뒤 정보 전달시 두 카운트를 더해 댓글수로 반환하도록 수정하였다. 아마 삭제의 경우도 생성..
2024.06.09 -
[클론 코딩] 네이버 카페 - 답글 작성
네이버 카페는 게시글에 달린 댓글에 '답글'이라는 것을 작성할 수 있다. 즉, 댓글에 댓글을 작성하는 형태인데 무한정 하위 댓글로 작성되는 것은 아니고 한 번 하위 댓글(=답글)로 작성됬다면 이후 달리는 댓글은 동위 댓글로서 작성된다. 단, 이렇게 될 경우 누구에게 답글을 작성한건지 사용자가 헷갈릴 수 있으므로 답글 대상의 카페 닉네임을 제공해 작성하는 사람도 작성된 답글을 보는 사람도 해당 답글의 대상이 누구인지 알 수 있도록 서비스를 제공한다. 결과적으로 답글과 댓글의 차이점은 본문에 본문 내용뿐만 아니라 '네임 태그'를 통해서 누구에게 작성한 내용인지 명확하게한다는 것 뿐이다. 하지만 이것은 사용자에게 보이는 부분이므로 구현부에서는 이러한 부분을 제공하기 위해서라도 댓글 엔티티(객체)가 어떤 댓..
2024.06.08