[Spring#31] 오늘 뭐 먹지? 프로젝트 API 개발 / 알고리즘 : 옹알이

김한준 Hanjun Kim·2023년 11월 22일
0

내일배움캠프

목록 보기
31/70

알고리즘

https://github.com/wkdehf217/codingTest/tree/main/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4/1/133499.%E2%80%85%EC%98%B9%EC%95%8C%EC%9D%B4%E2%80%85%EF%BC%882%EF%BC%89

  • 처음에 내가 생각했던것 : 문자를 split으로 자른 후에 하나씩 비교해가며 빼자
    -> 많은 수의 문자를 자르기도 어렵고, 비교하는 로직에서 복잡해져서 지움
  • 그 다음에 생각했던것 : if문을 여러 번 돌려서 해당하는 문자를 배열로 빼 놓고, 나머지를 다시 비교
    -> 위와 마찬가지로 지움
  • 해결방안 : 주어지는 문자열에서 해당하는것을 replace 함수를 통해 빈 칸으로 치환하고, 나머지를 계속 비교. 처음에 중복문자 자체는 continue를 통해 패스
    만약 다 "" 으로 치환해버려서 더이상 replace할 것이 없다 -> 조합된 문자이기 때문에 answer++
  • 어려웠던 것 : ayayeaya , ayaayaye, ayayayae 처럼 중간중간 끼어있거나 연속되는 문자는 패스해야 하는것

오늘 뭐 먹지? 프로젝트 API 개발

Comment

댓글 기능을 구현하기 위해서는
(인증, 인가가 완료되었다는 가능 하에)

  • 게시판의 ID
  • 댓글의 ID
  • 댓글의 Repository

추가로

  • 좋아요 기능
  • 좋아요와 댓글이 연동되는 Repository

가 필요하다.

게시판과 댓글의 ID를 통해서 Get / Create / Update / Delete 기능을 구현하였다.
해당하는 ID가 있다면 Repository를 통해 데이터를 가져고 업데이트 하는 로직으로 구성하였다.

public List<CommentResponseDto> getComment(Long id) {

        List<Comment> commentList = commentRepository.findAllByPost_Postid(id);
        List<CommentResponseDto> responseDtoList = new ArrayList<>();

        for (Comment comment : commentList) {
            responseDtoList.add(new CommentResponseDto(comment));
        }

        return responseDtoList;
    }

이런식으로

여기까진 문제없이 잘 되었는데..

좋아요 기능을 구현하기 위해서는 "복합키" 테이블을 구성해서 데이터를 User테이블과 연동하여야 했다.
복합키 구성에서 좀 헤매다가, 다른 기능을 우선 만든 후에 우선 Commit을 하고
내일 팀원들과 회의를 통해 진행하기로 하였다.
또, Comment 테이블 안에 들어가는 데이터들도 다시 논의 해 봐야한다.

우리 팀은 각자 branch를 파서 매일 저녁에 PR, 다음날 아침에 Merge하기로 했다.

  • 어려웠던 것 : 복합키 테이블을 구성하는 것.
  • 해결방안 : 구글링을 통한 학습과 내일 팀원들과 깃허브를 통해 Merge하며 생각한 것이 맞는지 논의하기.
profile
개발이 하고싶은 개발지망생

0개의 댓글