[BOJ 2357] 최솟값과 최댓값
·
Coding Test/Problem Solving
2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net 1. 문제 설명 예를 들어 1번~10번 정수는 연두색 박스의 범위이고 최솟값은 5, 최댓값은 100이다. 또 다른 예로, 8번~10번 정수는 주황색 박스의 범위이고 최솟값은 5, 최댓값은 81이다. 2. 구현 아이디어 1 - 맞았습니다!! Segment Tree를 사용하면 쉽게 풀 수 있는 문제이다. (대부분의 세그먼트 트리 문제가 세그먼트 트리를 구현만 하면 쉽게 풀리는 것 같다) [C++] 세그먼트 트리의 개념과 구현 ..
[BOJ 11066] 파일 합치기
·
Coding Test/Problem Solving
11066번: 파일 합치기 소설가인 김대전은 소설을 여러 장(chapter)으로 나누어 쓰는데, 각 장은 각각 다른 파일에 저장하곤 한다. 소설의 모든 장을 쓰고 나서는 각 장이 쓰여진 파일을 합쳐서 최종적으로 소설의 완성본 www.acmicpc.net 1. 문제 설명 2. 구현 아이디어 1 - 맞았습니다!! 처음에는 빡구현 문제라고 생각하여 규칙을 찾아내고자 애를 썼지만 잘 되지 않았다 😥 결국 다른 사람의 코드를 참고하였고, DP로 풀어야 하는 문제임을 알 수 있었다. DP 배열은 2차원 배열로, DP[i][j]는 i번째부터 j번째 파일을 합치는데 필요한 최소 비용을 의미한다. 파일을 합치기 전에는 특정 지점을 기준으로 파일이 나누어져있을 것이다. (like 분할정복에서 합치기 전에 나뉘었던 것처럼 ..
[Programmers] 가장 많이 받은 선물
·
Coding Test/Problem Solving
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 설명 2. 구현 아이디어 1 - 정답입니다! 주어진 정보대로 그대로 구현하면 되는 문제였다. 하지만, vector와 map 중 어느 자료구조를 사용할지 조금 망설이느라 문제를 푸는데 다소 시간이 소요되었다. map이 생각보다 느린 자료구조이기 때문에 최대한 지양하려고 노력하고 있지만, 제한사항이 타이트하지 않아 map을 사용하였다. 소요 시간을 그나마 줄이기 위해 unordered_map을 사용하였다. 다음달에 가장 선물을 많이 받은 친구의 갯수를 출력할 때, map의 두번째 원소로 비교를 해주어야..
[Packy] Github Releases 만들고 Release Drafter로 자동화하기
·
Github
1. 들어가며 소프트웨어 버전 관리 규칙 - Semantic Versioning 1. 들어가며 Github에는 위와 같이 Releases라는 기능이 있어 소스코드의 결과물을 배포할 수 있는 기능을 제공하고 있다. 이전에는 해당 기능을 사용하지 않았지만, 이번 프로젝트부터는 릴리즈를 leeeeeyeon-dev.tistory.com 이전 포스트에서 Semantic Versioning과 Major, Minor, Patch 버전에 대해 간략히 알아보았다. 이번 포스트에서는 직접 Github Releases를 만들어보자. 2. Releases 만들기 첫 Release를 배포하는 경우 Create a new release를 눌러준다. 첫 Release가 아닌 경우 Releases > Draft a new relea..
소프트웨어 버전 관리 규칙 - Semantic Versioning
·
Semi Tips
1. 들어가며 Github에는 위와 같이 Releases라는 기능이 있어 소스코드의 결과물을 배포할 수 있는 기능을 제공하고 있다. 이전에는 해당 기능을 사용하지 않았지만, 이번 프로젝트부터는 릴리즈를 배포하여 서버의 버전을 제대로 관리해보고자 한다. 이번 포스트에서는 버전 관리에 앞서 버전을 작성하는 방법을 알아보자. 2. 버전 관리가 왜 필요한가? 버전 관리를 통해 우리는 아래와 같은 이점을 얻을 수 있다. 히스토리 추적 및 관리 백업 및 복구 용이 사용자에게 버전에 대한 정보 제공 3. Semantic Versioning 앱이나 게임을 보면 v.1.6.2 처럼 버전이 적힌 것을 볼 수 있다. 하지만 이런 버전은 개발자가 임의로 적는 것이 아니라는 사실 ...!!! 저런 형태의 버전은 Semanti..
[Packy] 멀티 모듈 프로젝트에서 jacoco test report 통합하여 연동하기
·
Spring
1. 들어가며 진행하고 있는 프로젝트는 멀티 모듈로 운영하고 있는데, jacoco 테스트 리포트를 만들면 모듈마다 build 패키지에 리포트가 생성되어 하나로 확인하기 어렵다. Gradle 7.4부터 지원하는 jacoco-report-aggregation 플러그인을 사용하면 여러 모듈에 걸친 테스트 리포트를 하나로 통합하여 관리할 수 있다. 2. rootProject - build.gradle 루트 프로젝트의 build.gradle에 아래와 같이 코드를 추가해준다. 주석으로 위에 jacoco라고 적은 부분이 jacoco 연동을 위해 추가된 코드이다. 이제 모든 하위 모듈에 jacoco 플러그인이 추가되었고, ./gradlew testCodeCoverageReport 명령어로 테스트 리포트를 만들 수 있다..
짱정연
'분류 전체보기' 카테고리의 글 목록 (6 Page)