문제 RGB거리에는 집이 N개 있다. 거리는 선분으로 나타낼 수 있고, 1번 집부터 N번 집이 순서대로 있다. 집은 빨강, 초록, 파랑 중 하나의 색으로 칠해야 한다. 각각의 집을 빨강, 초록, 파랑으로 칠하는 비용이 주어졌을 때, 아래 규칙을 만족하면서 모든 집을 칠하는 비용의 최솟값을 구해보자. 1번 집의 색은 2번 집의 색과 같지 않아야 한다. N번 집의 색은 N-1번 집의 색과 같지 않아야 한다. i(2 ≤ i ≤ N-1)번 집의 색은 i-1번, i+1번 집의 색과 같지 않아야 한다. 입력 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 ..
1. 기능 구현 2. PR 3. 코드 리뷰 4. 다시 수정 아래는 리뷰에 대한 조금 더 확실한 컨셉을 갖기 위해 참고한 블로그! https://joyful-class-maker.tistory.com/96 코드리뷰의 A-Z: Pull Request에서 Code Review까지 1. Git을 이용한 협업 1.1 각 브랜치의 역할 운영은 master, 새로운 기능 추가는 dev ! master 최종 검수가 완료된 코드 = 개발팀에서 운영서버에 배포해도 좋다고 합의가 이루어짐. dev 기능 하나를 구현 joyful-class-maker.tistory.com 사실 코드 리뷰를 하고 받는게 익숙하지 않다. 알고리즘 문제를 풀며 내 코드에 대해 피드백을 받은적은 있지만 그냥 의견을 주고 받는 정도...! 안일하게 생..
HTTP vs 웹소켓 HTTP는 요청과 응답 구조로 통신이 이뤄진다. 실시간 서비스를 제공하기 위해서는 매번 새로운 요청이 필요해 자원이 많이 필요하다. 반면, 웹소켓은 한 번 열결 맺은 뒤 지속적으로 통신이 가능하다. 실시간성 서비스에 웹소켓을 이용하면 적은 자원으로 통신이 가능하다. http:// 가 아닌 ws:// 로 요청을 보낸다. 바로 구현해보자! 프로젝트 설정 및 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-websocket' WebSocketConfig 클래스 생성 import lombok.RequiredArgsConstructor; import org.springframework.context.annotation...
JavaScript 란? 웹 페이지에 생동감을 불어넣기 위해 만들어진 객체 기반의 스크립트 프로그래밍 언어 선언 var: 함수 스코프, 변수 let: 블록 스코프, 변수 const: 블록 스코프, 상수 선택자 // 태그 선택자 document.getElementsByTagName(태그명)[순서]; // 클래스 선택자 document.getElementsByClassName(클래스명)[순서]; // 아이디 선택자 document.getElementById(아이디명); 출력문 widow.alert(); document.write(); console.log(); 변수의 데이터 타입: 기본 타입 boolean 참, 거짓을 나타내는 true와 false null 의도적으로 변수에 값이 없다는 것을 명시할 때 사용..
HTML sign-up.html Signup Signup sign-in.html Login Login CSS style.css body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; background-color: #f2f2f2; margin: 0; display: flex; align-items: center; justify-content: center; height: 100vh; } form { background-color: #fff; padding: 20px; border-radius: 8px; box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); width: 300px; text-align: center; }..
문제 상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다. 오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다. 백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다. 각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다. N = 7인 경우에 다음과 같은 상담 일정표를 보자. 1일2일3일4일5일6일7일TiPi 3 5 1 1 2 4 2 10 20 10 20 15 40 200 1일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일에 잡혀있는 상담은 총 2일이 걸리며, 받을 수 있는 금액은 15이다. 상담을 ..
문제 N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 N-1개의 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 우리는 수와 수 사이에 연산자를 하나씩 넣어서, 수식을 하나 만들 수 있다. 이때, 주어진 수의 순서를 바꾸면 안 된다. 예를 들어, 6개의 수로 이루어진 수열이 1, 2, 3, 4, 5, 6이고, 주어진 연산자가 덧셈(+) 2개, 뺄셈(-) 1개, 곱셈(×) 1개, 나눗셈(÷) 1개인 경우에는 총 60가지의 식을 만들 수 있다. 예를 들어, 아래와 같은 식을 만들 수 있다. 1+2+3-4×5÷6 1÷2+3+4-5×6 1+2÷3×4-5+6 1÷2×3-4+5+6 식의 계산은 연산자 우선..
브루트 포스란? Brute = 짐승 같은, 난폭한 Force = 힘 조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법이다. 흔히 암호학에서 연구되나, 알고리즘 분야에서도 사용되고 있다. 완전 탐색이라고도 한다. 타 알고리즘과 비교 예시로 500원 동전 한 개, 100원 동전 두 개, 50원 한 개 중 세 개를 골라 최댓값을 고른다. 그리디 알고리즘의 경우 가장 큰 단위의 동전을 먼저 뽑는다. 그렇기에 시간 효율이 좋다. 하지만 해당 문제를 브루트 포스로 해결할 경우 모든 경우를 탐색하기에 훨씬 많은 시간이 지체된다. 종류 배열, 리스트, 스택 큐, 덱 위와 같은 선형 구조는 순차 탐색을 한다. 백트랙킹, DFS, BFS 위와 같은 비선형 구조는 백트랙킹, BFS(너비우선탐색) ..
SwaggerHub API 명세서 SpringBoot는 dependencies에 추가해서 사용 가능 메소드에 Swagger Annotation 붙여서 사용 Postman API 개발 후 요청에 알맞은 응답이 오는지 확인해 볼 수 있음 Header를 넣어서 복잡한 요청도 가능 만들어둔 요청을 순서대로 실행해보는 것도 가능 So what? Swagger는 Api를 문서화함에 비중이 있다면 Postman은 손쉽게 Api를 테스트 하기 위함에 목적이 있는거 같다.
- Total
- Today
- Yesterday
- 백준9375번
- 백준
- 동덕여대 컴퓨터학과
- 백준 2108
- 컴퓨터학과
- 알고리즘
- 리트코드 1768
- 리트코드 1768 해석
- 스파크
- 백준 1004
- bcrypaswordencoder
- 개발
- 자바 9375
- 웹
- 코틀린
- 컴과
- 자바
- 컴공
- 코딩
- 스프링 강의
- RDD
- 그리디 알고리즘
- 안드로이드
- 프로그래밍
- 동덕여대
- 스프링부트
- 생활코딩
- 자바 1004번
- 아이엘츠
- BFS
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |