안녕하세요! delay100입니다. 예전부터 이 주제로 포스팅을 하고 싶었어요! 왜냐하면,, CRUD만큼은 여러번 구현해보았고..머릿속에서 완벽히 정리할겸,개발자를 시작하는 분들은 여러번 따라해보는 것이 실력이 잘 는다고 생각하기 때문에,지식을 공유할겸 작성해봅니다. 그런고로 따라만 하면 만들어질 수 있도록 쉽게 만들어보려고 합니다! 그리고 따라만 하면 이해가 되지 않기 때문에, 최대한 상세히 설명(주석)도 적을 예정이니 겁먹지 마시고 같이 만들어봐요!! 자, 서론이 길었죠? 이제 시작해봅시다. 따라하면 만들어지는 메모장 + AWS 배포까지 1탄입니다.github(https://github.com/delay-100/memo)에 코드를 챕터별로 정리해두었습니다.chapter0. 최종 결과아래의 URL에서 ..
안녕하세요. delay100입니다.오늘은 Spring GET요청에 대해서 Postman에서 확인하는 방법을 적어보았습니다.1. SpringBoot 프로젝트 생성먼저, start.spring.io에서 아래와 같은 설정으로 프로젝트를 만들어줍니다.프로젝트 이름은 굳이 바꾸지 않아도 되지만, Add Dependencies를 눌러서 Lombok, Spring Web을 추가해주어야 합니다.https://start.spring.io/GENERATE를 하게 되면, 압축된 SpringBoot 폴더가 생성됩니다. 원하는 위치에 압축을 풀어줍니다.그 후 Intellij에서 해당 프로젝트를 열기해줍니다.프로젝트를 열다가 아래와 같은 경고문이 뜬다면, 네모박스에 체크를 해주고 Trust Project를 클릭해줍니다.Intel..
안녕하세요. delay100 입니다!오늘은 99클럽의 정기세션의 마지막 날입니다..! 매일 꾸준히 공부할 수 있게 해주어 감을 잃지 않도록 한 좋은 프로그램이었어요. 그리고 다른 분들의 코드를 보면서 제 코드에 대한 반성도 많이 할 수 있었구요! 클럽장님의 앞으로의 공부 방향에 대한 이야기1. 알고리즘은 정답이 있는 문제다.알고리즘 테스트는 정답을 찾아내는 방법이 여러개인 시험이다. 어떻게든 풀어내면 된다.많이 풀줄 아는 방법을 알기 위해 많은 문제를 풀어보아라. 1-2. 어떻게 이 경험을 축적할 것인가?알고리즘이 어려운 이유로는 자료구조에 대한 이해가 부족한 경우일 수 있다. 알고리즘에 대한 개념을 학습해야한다.유명한 알고리즘에 대한 이해도가 있으면 문제 푸는데 도움이 된다. 공부 순서는 자료구조 ->..
안녕하세요. delay100 입니다!미들러 문제1번. 스케이트연습 https://www.acmicpc.net/problem/28324문제에서 주어진 조건은 아래와 같습니다. 시작지점 -(0의 속력)> 0, 1, 2, 3 ... N -(0의 속력)> 도착지점각 중간 지점에는 속력 제한 Vi가 존재속력up: 원하는 만큼 증가 가능속력down: 마지막으로 방문했던 지점에서의 속력에서 -1만큼만 감소 가능출발지점, 도착지점을 제외한 위치는 속력이 0이 될 수 없음속력을 변경하지 않고 그대로 유지하는 것도 가능구하고자 하는 것 : 각 지점에서의 속력의 합의 최대치V[2, 3, 1] => 2+2+1 = 5V[23, 7, 1, 5] => 3+2+1+1 = 7결국 마지막에 속력 0에 도달해야하므로 가장 뒤의 inde..
안녕하세요. delay100 입니다!오늘도 9시부터 11시까지 진행되는 정기세션에 참가했어요.11시가 거의 다될도록 1번 시간초과를 해결을 못해서.. 채팅으로 어려움을 호소했더니"커띵"님께서 미들러문제 1번을 화면공유로 알려주셨어요ㅠㅠ 미들러 문제1번. 숫자 변환하기https://school.programmers.co.kr/learn/courses/30/lessons/154538 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1-1. 실패 코드 - 시간초과단순히 bfs를 돌려 +n, *2, *3하는 모든 경우의 수를 찾게 되어 시간 초과가 발생합니다.이미 도..
안녕하세요. delay100 입니다!미들러 문제1번. 치킨배달 https://www.acmicpc.net/problem/15686 1-1. 실패코드 - 시간초과package club99;import java.io.*;import java.util.*;public class p15686 { static int N, M, chickenIdxLength; static int[] chickenIdx, selectedChickenIdx, homeListIdx; static boolean[] visitedChickenIdx; static int[][] list; static boolean[][] isVisited; static int min = Integer.MAX_VALUE; public static void ..
안녕하세요. delay100 입니다!미들러 문제1번. 플러그 https://www.acmicpc.net/problem/2010콘센트 1개마다 꽂을 수 있는 콘센트 가능 수가 1개씩 줄어듭니다.따라서 매 콘센트마다 -1을 해주고, 마지막 콘센트는 컴퓨터를 연결하면 되므로 다시 +1을 해주면됩니다.import java.io.*;public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWrite..
안녕하세요. delay100 입니다!미들러 문제1번. 동물원 https://www.acmicpc.net/problem/1309dp로 풀어줍니다. 2차원 배열을 사용했습니다.list[i][0] = 아무곳에도 사자를 넣지 않는 경우의 수list[i][1] = 왼쪽에만 사자를 넣은 경우의 수list[i][2] = 오른쪽에만 사자를 넣은 경우의 수각각 i번째에 각각 경우의 수를 갱신해줍니다.배열의 내부 값이 매우 커지기 때문에 연산 시 %9901을 계속 해주었습니다.import java.io.*;public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(ne..
안녕하세요. delay100 입니다!미들러 문제1번. 타일 채우기 4 https://www.acmicpc.net/problem/15700타일 하나당 바닥의 크기를 반으로 나누면, 타일이 차지하는 격자의 수를 계산할 수 있습니다. 이때 바닥의 크기는 a * b 이므로, (a * b) / 2 가 타일을 놓을 때 필요한 격자의 수입니다. 만약 직사각형 바닥면에 21 크기의 타일을 가로로 놓는다고 가정하면, 타일이 놓이는 위치에 따라서 가로로 놓인 타일은 항상 두 개의 격자에 걸치게 됩니다. 그리고 세로로 놓일 때에도 마찬가지로, 타일 하나당 바닥면의 크기를 나눈 것의 반만큼이 격자에 걸치게 됩니다. 이를 통해 (ab)/2 공식이 나오게 됩니다.import java.io.*;import java.util.*;p..
안녕하세요. delay100 입니다!오늘도 세션 내에 문제를 다 풀지 못했습니다... ㅠㅠ 11시 41분에 겨우 마쳤네요..미들러 문제1번. n^2 배열 자르기https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 1. 실패코드 - 실패 & 시간초과 & 런타임에러 2중 for문을 이용한 풀이입니다. 실패코드이니 따라하지는 마세요사실 풀면서도 시간복잡도 관련 문제가 발생할 것이라 예상은 됐지만.. 그래도 풀이한 방법을 적어두겠습니다. 풀이 방법은 n번만큼 ..