diff --git a/src/components/ChattingDetail.jsx b/src/components/ChattingDetail.jsx
index a7af6466e15b8389f482d8cf5fe6cc571c260a59..c55d0ceb676ed602b4859beb1abd0c32666683c6 100644
--- a/src/components/ChattingDetail.jsx
+++ b/src/components/ChattingDetail.jsx
@@ -824,7 +824,10 @@ function ChattingDetail() {
         <NoticeContainer isCollapsed={isNoticeCollapsed}>
           {!isNoticeCollapsed ? (
             <>
-              <NoticeMessage isCollapsed={isNoticeCollapsed} onClick={handleNoticeClick}>
+              <NoticeMessage
+                isCollapsed={isNoticeCollapsed}
+                onClick={handleNoticeClick}
+              >
                 πŸ“’ {notice?.message}
               </NoticeMessage>
               <NoticeSender>{notice?.sender}</NoticeSender>
@@ -854,7 +857,7 @@ function ChattingDetail() {
       {/* 곡지사항 상세 λͺ¨λ‹¬ */}
       {isNoticeDetailModalOpen && (
         <ChattingNoticeDetailModal
-          initialNotice={selectedNotice} // 처음 ν‘œμ‹œν•  곡지사항
+          initialNotice={selectedNotice}
           notices={notices}
           onClose={closeNoticeDetailModal}
           onSelectNotice={(notice) => setSelectedNotice(notice)}
@@ -897,7 +900,9 @@ function ChattingDetail() {
               theme="purple"
               onClick={handleArrowDown}
               state={
-                currentSearchIndex < searchResults.length - 1 ? "default" : "disable"
+                currentSearchIndex < searchResults.length - 1
+                  ? "default"
+                  : "disable"
               }
               icon={<FaArrowDown />}
             />
@@ -926,33 +931,30 @@ function ChattingDetail() {
             const prevMessage = messages[index - 1];
             const nextMessage = messages[index + 1];
 
-            // 이전 λ©”μ‹œμ§€μ™€ 비ꡐ
             const sameSenderAsPrev =
               prevMessage && prevMessage.sender === messageData.sender;
 
-            // λ‹€μŒ λ©”μ‹œμ§€μ™€ 비ꡐ
             const sameSenderAsNext =
               nextMessage && nextMessage.sender === messageData.sender;
 
-            // ν˜„μž¬ λ©”μ‹œμ§€μ˜ νƒ€μž„μŠ€νƒ¬ν”„
-            const messageTime = new Date(messageData.timestamp).toLocaleTimeString([], {
-              hour: "2-digit",
-              minute: "2-digit",
-            });
-
-            // 이전 λ©”μ‹œμ§€μ˜ νƒ€μž„μŠ€νƒ¬ν”„
-            const prevMessageTime =
-              prevMessage &&
-              new Date(prevMessage.timestamp).toLocaleTimeString([], {
+            const messageTime = new Date(messageData.timestamp).toLocaleTimeString(
+              [],
+              {
                 hour: "2-digit",
                 minute: "2-digit",
-              });
+              }
+            );
 
-            // μƒˆλ‘œμš΄ λΆ„ λ‹¨μœ„ λ©”μ‹œμ§€μΈμ§€ 확인
-            const isNewMinute = !prevMessage || messageTime !== prevMessageTime;
+            // const prevMessageTime =
+            //   prevMessage &&
+            //   new Date(prevMessage.timestamp).toLocaleTimeString([], {
+            //     hour: "2-digit",
+            //     minute: "2-digit",
+            //   });
 
-            // λ§ˆμ§€λ§‰ λ©”μ‹œμ§€μΈμ§€ 확인
-            const isLastMessageInGroup = !sameSenderAsNext || messageTime !== nextMessage.timestamp;
+            // const isNewMinute = !prevMessage || messageTime !== prevMessageTime;
+            const isLastMessageInGroup = !sameSenderAsNext;
+            const isDifferentUserFromPrev = !sameSenderAsPrev;
 
             if (messageData.type === "join" || messageData.type === "leave") {
               return (
@@ -960,12 +962,11 @@ function ChattingDetail() {
               );
             }
 
-            // 읽지 μ•Šμ€ μ‚¬λžŒ 수
             const unreadCountValue = unreadCount(messageData._id);
 
             return (
               <div key={index}>
-                {isNewMinute && !isMine && (
+                {isDifferentUserFromPrev && !isMine && (
                   <strong
                     style={{
                       display: "block",
@@ -977,10 +978,15 @@ function ChattingDetail() {
                     {messageData.sender}
                   </strong>
                 )}
+
                 <MessageContainer
                   isMine={isMine}
                   highlighted={searchResults[currentSearchIndex] === messageData}
-                  ref={searchResults[currentSearchIndex] === messageData ? highlightedMessageRef : null}
+                  ref={
+                    searchResults[currentSearchIndex] === messageData
+                      ? highlightedMessageRef
+                      : null
+                  }
                   style={{
                     marginTop: sameSenderAsPrev ? "-16px" : "8px",
                     justifyContent: isMine ? "flex-end" : "flex-start",
@@ -988,7 +994,9 @@ function ChattingDetail() {
                 >
                   <MessageBubble
                     isMine={isMine}
-                    highlighted={searchResults[currentSearchIndex] === messageData}
+                    highlighted={
+                      searchResults[currentSearchIndex] === messageData
+                    }
                     onContextMenu={(e) => handleRightClick(e, messageData)}
                     style={{
                       textAlign: isMine ? "right" : "left",
@@ -1013,6 +1021,7 @@ function ChattingDetail() {
                         {unreadCountValue > 0 && `${unreadCountValue}`}
                       </span>
                     </div>
+
                     {isLastMessageInGroup && (
                       <MessageTimestamp isMine={isMine}>
                         {messageTime}
@@ -1047,7 +1056,7 @@ function ChattingDetail() {
         </Button>
       </ChatRoomInput>
     </ChatRoomContainer>
-  );  
+  );
 }
 
 export default ChattingDetail;
\ No newline at end of file