분류 전체보기

Problem Solving

[BOJ/백준] 30508 - 고인물이싫어

https://www.acmicpc.net/problem/30508BFS를 통한 물이 고이지 않은 곳과 고인 곳을 분리하기제목고인물이싫어조건시간 제한 : 1 초메모리 제한 : 1024 MB 문제비 오는 날 세종이는 부모님의 심부름으로 물을 사러 갔다. 횡단보도 앞에서 신호를 기다리던 세종이는 횡단보도가 평평하지 않아 물이 고인 것을 보았다. 횡단보도는 N X M 크기의 직사각형 격자 모양이며, 세종이가 서 있는 쪽 맨 앞의 맨 왼쪽 칸을 1행 1열, 맨 오른쪽 칸을 1행 M열로 부른다. 횡단보도 중 K개의 칸에는 하수구가 있다. 모든 칸은 상하좌우로 인접한 칸 중 높이가 자신보다 낮거나 같은 칸에 하수구나 물이 빠진 칸이 있으면 물이 빠진다. 하수구가 없는 칸 중 물이 빠지지 않은 칸을 물이 고인 칸이라..

Problem Solving

[BOJ/백준] 31849 - 편세권

https://www.acmicpc.net/problem/31849자취방을 기준으로 먼저 생각하기보다 편의점을 기준으로 생각하기편의점부터 모든 점의 거리를 한번에 BFS로 계산하기제목편세권조건시간 제한 : 2 초메모리 제한 : 1024 MB 문제왕복 4시간 통학에 지친 현성이는 자취방을 구하려고 한다.현성이가 방을 고르는 기준은 월세와 편의점까지의 거리뿐이다. 가장 마음에 드는 방을 구하기 위해 현성이는 지도 위의 모든 방에 편세권 점수를 매겨 그 중 편세권 점수가 가장 낮은 집을 고르려고 한다. 편세권 점수의 계산 방식은 다음과 같다.편세권 점수 = (방에서 가장 가까운 편의점까지의 거리 × 월세)현성이가 보고 있는 지도는 N X M 크기의 격자로 이루어져 있다. 지도의 x행 y열에 있는 칸의 위치를 ..

Problem Solving/BaekJoon

[BOJ/백준] 17291 - 새끼치기

https://www.acmicpc.net/problem/17291너무 어렵게 생각했다. 2차원 배열까지 생각할 필요 없다.짝수 일, 홀수 일 기준으로 X일 전에 몇 마리가 죽는 지를 체크하자.제목새끼치기 조건시간 제한 : 1 초메모리 제한 : 256 MB 문제실험실에서 새로운 종의 벌레 한 마리가 탄생하였다. 벌레는 스스로 분열하며, 분열하면 자기 자신과 같은 벌레를 한 마리 만들어 내게 된다. 벌레가 분열하는 규칙은 다음과 같다. 벌레는 기준년도 1년 2월에 1마리가 탄생한다. 벌레는 매년 1월이 되면 분열한다. 분열시 본래의 개체는 그대로, 새로운 개체가 하나 탄생하는 것으로 본다. 홀수년도에 탄생한 개체는 3번 분열시, 짝수년도에 탄생한 개체는 4번 분열시 사망한다. 예를 들어, 기준년도 1년 2..

CICD

[CICD] 무중단 배포 (Rolling & Blue/Green & Canary)

중단 배포서비스에 대한 내용을 업데이트해야할 때 운영 중에 서비스를 내리고 업데이트 된 서비스를 배포한다. 하지만 서비스를 내리는 과정에서 서비스를 사용하지 못하는 Downtime이 발생한다. 이때 고객의 서비스 접근이 차단되고 더 나아가 서비스 중 차단으로 문제가 발생한다. 이를 해결하기 위해 중단 배포 대신 무중단 배포 3가지 방법 Rolling, Blue/Green, Canary 배포에 대해서 소개하고자 한다.Rolling 배포State0-State1-State2-FinalState 순으로 진행된다고 생각해보자. 파란색 서비스는 기존에 운영되던 V1 서비스, 초록색 서비스는 업데이트된 V2서비스라고 하자. Rolling 배포는 서비스 별로 업데이트 내용을 한번에 바꾸는 것이 아닌 점진적으로 트래픽 ..

Problem Solving/BaekJoon

[BOJ/백준] 23830 - 제기차기

https://www.acmicpc.net/problem/23830   이분탐색+K가 양의 정수, 즉 자연수를 말하고 0은 포함되지 않는다제목제기차기조건시간 제한 : 1 초메모리 제한 : 512 MB문제얼마 전 학교 체육대회 "사차원"이 열렸다. 대회 종목 중 하나는 제기차기였고, 몇몇 학생을 제외하고는 대부분의 학생이 한두 번 밖에 차지 못했다. 잘 하는 사람과 못 하는 사람의 점수 차이가 너무 커졌기 때문에, 대회 전체 점수에 영향이 클 거라고 생각한 선생님은 다음과 같은 규칙을 정했다.기준이 되는 양의 정수 K를 정한다.어떤 학생의 제기차기 점수가 K+r 초과라면 그 학생의 점수에서 p를 뺀다.어떤 학생의 제기차기 점수이 K 미만이라면 그 학생의 점수에 q를 더한다.선생님은 이 규칙으로 점수를 계산..

CICD

[CICD] AWS EC2에서 Docker에서 Jenkins를 이용하여 서버 배포하기

일반적인 서비스 개발 및 유지 보수일반적인 앱의 개발 및 유지 보수는 Plan → Code → Build → Test → Release → Deploy → Operate의 반복으로 이뤄진다. 이러한 반복성을 통하여 지속적인 통합과 전달 과정을 만들어낼 수 있다.Plan구현, 테스트, 배포 모든 과정에 대한 계획 단계Code개발자가 코드를 원격 저장소에 Push하는 단계build원격 코드 저장소로부터 코드를 가져와 빌드하는 단계Test코드 빌드의 결과물에 대하여 전과 동일한 결과가 도출돠는 지 확인하는 단계Release배포 가능한 소프트웨어 패키지를 구현하는 단계Deploy소프트웨어를 배포하여 서비스를 사용자에게 제공하는 단계Operate사용자에게 제공된 서비스의 상태를 관리하여 문제를 감지하는 단계CIC..

Computer Science/Algorithm

[BOJ/백준] 27975 - 인덕션

27925번: 인덕션 햄최$125$인 지훈이는 먹은 햄버거를 소화하기 위해 $60$일을 굶었다. 슬슬 배가 고픈 지훈이는 부엌에서 직접 음식을 요리해 먹기로 했다. 부엌에는 인덕션이 있고, 인덕션에 요리할 수 있는 공간 www.acmicpc.net DP[음식개수][첫번째화구][두번째화구][세번째화구] 제목 인덕션 조건 시간 제한 : 1 초 메모리 제한 : 1024 MB 문제 햄최125인 지훈이는 먹은 햄버거를 소화하기 위해 60일을 굶었다. 슬슬 배가 고픈 지훈이는 부엌에서 직접 음식을 요리해 먹기로 했다. 부엌에는 인덕션이 있고, 인덕션에 요리할 수 있는 공간이 총 세 개 있다. 그리고 공간마다 따로 있는 온도 조절 버튼 (-,+)으로 온도를 조절할 수 있다. 온도는 다음 규칙을 따른다. 온도는 정수이..

SpringBoot

[SpringBoot/스프링부트] Prometheus와 Grafana를 이용한 서버 모니터링

Prometheus Prometheus는 서버의 Endpoint에서 받는 리소스를 통해 이벤트 모니터링과 이벤트에 대한 경고 및 알람 기능을 제공한다. Prometheus를 이용하기 위한 초기 세팅 build.gradle // SpringBoot Actuator implementation 'org.springframework.boot:spring-boot-starter-actuator' // Prometheus runtimeOnly 'io.micrometer:micrometer-registry-prometheus' 서버 상태 리소스 확인을 위해 Endpoint 설정 Prometheus가 서버의 상태를 받기 위한 주소라고 생각하면 된다. 이 주소를 통해서 일정 시간 동안(기본값은 15초이다)의 반복 요청으..

ERROR

[ERROR/에러] Null value was assigned to a property ~ of primitive type

Problem org.springframework.orm.jpa.JpaSystemException: Null value was assigned to a property [class com.cdd.batchservice.module.ingredient.domain.IngredientOnlineMarket.ingredientDivision] of primitive type: 'com.cdd.batchservice.module.ingredient.domain.IngredientOnlineMarket.ingredientDivision' (setter) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.convertHibernateAccessException(..

Problem Solving/BaekJoon

[BOJ/백준] 27212 - 미팅

27212번: 미팅 오늘은 A대학의 학생 $N$명과 B대학의 학생 $M$명이 만나는 날이다. 이들이 만나는 장소에는 크고 길이가 긴 식탁이 하나 있어서, 한쪽에는 A대학 학생이, 다른 한쪽에는 B대학 학생이 앉을 예정이 www.acmicpc.net dp[i][j] = dp[i - 1][j - 1] + W[A[i]][B[j]]; dp[i][j] = Math.max(dp[i][j], dp[i - 1][j]); dp[i][j] = Math.max(dp[i][j], dp[i][j - 1]); 제목 미팅 조건 시간 제한 : 1 초 메모리 제한 : 512 MB 문제 오늘은 A대학의 학생 N명과 B대학의 학생 M명이 만나는 날이다. 이들이 만나는 장소에는 크고 길이가 긴 식탁이 하나 있어서, 한쪽에는 A대학 학생이,..

ERROR

[ERROR/에러] MySQL Data too long for column

Problem com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column 'weather_detail' at row 1 at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:104) ~[mysql-connector-j-8.3.0.jar:8.3.0] at com.mysql.cj.jdbc.ClientPreparedStatement.executeInternal(ClientPreparedStatement.java:912) ~[mysql-connector-j-8.3.0.jar:8.3.0] ..

Problem Solving/BaekJoon

[BOJ/백준] 31477 - 양갈래 구하기

31477번: 양갈래 구하기 다음 그림에서 1과 2를 연결하는 덩굴, 3과 6을 연결하는 덩굴, 3과 7을 연결하는 덩굴을 자르면 총 3+1+2로 6의 힘이 최솟값이 된다. www.acmicpc.net N개의 방이 존재하고 N-1개의 각 방을 잇는 덩굴이 존재하며 각 방끼리 무조건 이동 가능 = 사이클이 생길 수 없는 구조 DFS를 통한 최소 두께를 갱신하여 합 제목 양갈래 구하기 조건 시간 제한 : 1 초 메모리 제한 : 1024 MB 문제 평화로운 양갈래의 마을에 위기가 닥쳐왔다! 덩굴에 독이 퍼져 양갈래가 있는 곳으로 옮겨지고 있다! 독은 양갈래의 방을 제외하고, 정확히 한 개의 덩굴로 연결된 방에서부터 옮겨진다. 모든 방의 쌍 사이에는 1개 이상의 덩굴을 지나는 유일한 경로가 존재하며, 덩굴은 총..

JunHoChoi
'분류 전체보기' 카테고리의 글 목록