분류 전체보기

    설계,,,,이렇게 하는 게 맞는 건가,,,??

    설계,,,,이렇게 하는 게 맞는 건가,,,??

    지인들과 프로젝트를 시작했다. 어떤 주제로 할지에 대해 정하고, 핵심 기능까지 정했다,,,!! 그 후에서 백엔드 개발자들끼리는 도메인 구조 설계를 해보기로 했다,,,!! 설계에 앞서서 어떤 기능들이 필요한지 여부에 대해 적어봤다. 더보기 [일반 회원] - 소설 로그인(회원 가입) - 프로필 정보 변경(nickname, image) - 로그 아웃 - 회원 탈퇴 - 발자국 조회(내가 쓴 리뷰 조회) - 찜한 shop 조회 - 작성한 리뷰 목록 조회 [admin] - 새로운 shop 등록 - (대량) 새로운 shop 등록 - 새로운 카테고리 등록 - 새로운 Tag 등록 - Tag 삭제 - 가게 삭제 [shop] - 위치 별 shop 목록 조회 - shop 상세 조회 - 유저 별 - shop 정보 수정 - sh..

    [백준] 1913번 달팽이 풀기 [Java]

    [백준] 1913번 달팽이 풀기 [Java]

    구현 문제를 오랜만에 풀어서인지, 실버4인데,, 헤매고 시간도 오래걸렸다,,,여전히 많이 부족한 사람이다라고 깨닫게 되는 문제였다. 구현 문제가 코딩테스트에서 자주 나오는데 좀 많이 풀어보고, 코드는 좀 더 깔끔하게 짤 수 있도록 해야겠다. 달팽이가 움직이는 모양처럼 숫자를 써내려가는 문제였다. (1,1)에서 N*N로 시작해서 1까지 쓸 수 있도록 👨‍🏫 풀이 구현 문제여서 딱히 풀이는 없지만, 나는 첫번째 행만 N개를 따로 채워주고, 나머지 행 열은 2개씩 짝을 이루어 N-1, N-2, ...., 1로 가는 규칙이 있어서 해당 규칙을 사용해서 풀었다. 오른쪽, 위쪽, 왼쪽, 아래쪽 순으로 가기 때문에, 움직이는 방향을 설정해서 해당 위치에 움직이는 방향에 맞게 움직일 수 있도록 하였다. 👨🏻‍💻 코드 ..

    [백준] 16964번 DFS 스페셜 저지 풀어보기 [Java]

    [백준] 16964번 DFS 스페셜 저지 풀어보기 [Java]

    상대적으로 적은 사람이 푼 문제를 풀어서 뭔가 기분이 좋다. 그리고 오랜만에 1제출 1정답이여서 더 기분이 좋고,,,, 그래프가 주어지고, 해당 그래프를 정점 1 부터 시작해서, DFS로 탐색한 경로가 들어온다. 우리가 찾아야 될 것은 해당 탐색 경로가 DFS로 탐색한 올바른 경로가 맞는지 체크를 하는 것이다. 어느 곳을 먼저 탐색할 지 모르기 때문에, DFS경로는 여러 경로가 나올 수 있다!! 👨‍🏫 풀이 일단, DFS로 진행하여, 해당 그래프의 누가 parent인지 확인을 하고, 자신의 child 수가 몇명인지 확인을 한다. 그리고 입력으로 들어온 Order를 앞에서부터 체크를 한다. 첫 parent는 무조건 1이기 때문에, 1로 설정한다. 현재 순서의 parent와 현재 parent로 설정된 것이 ..

    [백준] 1261번 알고스팟 풀어보기 [Java]

    [백준] 1261번 알고스팟 풀어보기 [Java]

    (1,1)부터 (M,N)까지 가는 루트 중 최소로 벽을 부술 수 벽의 개수를 구하는 문제이다. 👨‍🏫 풀이 단순히 bfs로 풀면된다. 그리고 벽이 있는 경우, 벽을 부수고 가는 경우를 계산한다. 도착지까지 가는 루트 중 벽을 부술 수 있는 벽의 개수를 구하는 문제이기 때문에, Priority queue로 벽을 적게 부수는 경우가 가장 top에 올라오도록 했다. 👨🏻‍💻 코드 package 번1261; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.*; public class Main { static int N,M; static int[][] map; sta..

    [백준] 16929번 Two Dots 풀어보기 [Java]

    [백준] 16929번 Two Dots 풀어보기 [Java]

    그래프의 사이클 여부를 찾는 문제였다. bfs문제였다. 약간 구현에 있어서 복잡한 부분이 있었던 거 같아서, 한번에 못 맞출줄 알았는데, 한번에 "맞았습니다" 나와서 기분이 좋았습니닿ㅎㅎㅎ 👨‍🏫 풀이 bfs로 풀었고, 이전에 방문 했던 적이 있는 곳을 다시 방문한다면 cycle이 생기기 때문에, 이전에 방문했던 이력이 있다면 cycle이 true로 출력하였다. 상하좌우로 다 움직이기 때문에, 바로 이전의 방문했던 곳을 방문할 경우에 cycle이 생긴다고 말할 수 있는데, 이때는 cycle이 생기는 것이 아니기 때문에 처리해줘야 됐다. 그래서 이전에 어디서 넘어왔는지에 대한 정보도 queue에 함께 넘겨줘서 이전에 넘어왔던 곳은 체크 안하도록 하였다. 👨🏻‍💻 코드 package 번16929; impor..