전체 글 211

[프로그래머스] 최고의 집합 (Java)

문제 https://programmers.co.kr/learn/courses/30/lessons/12938 코딩테스트 연습 - 최고의 집합 자연수 n 개로 이루어진 중복 집합(multi set, 편의상 이후에는 "집합"으로 통칭) 중에 다음 두 조건을 만족하는 집합을 최고의 집합이라고 합니다. 각 원소의 합이 S가 되는 수의 집합 위 조건을 만 programmers.co.kr 풀이 생각 보다 쉽게 풀렸던 문제 각 원소의 합이 S가 되는 수의 집합 위 조건을 만족하면서 각 원소의 곱 이 최대가 되는 집합 N이 3이고 S가 9라면? {3, 3, 3} 이 답이 된다. N이 3이고 S가 10이라면? {3, 3, 4} 가 답이 된다. 여러 개의 케이스를 놓고 답을 구해보니, S를 N으로 나눈 몫에다가 나머지를 차..

[프로그래머스] 메뉴 리뉴얼 (Java)

문제 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 아래와 같은 데이터가 있다. 알파벳은 각각 메뉴 1개를 의미한다. 기존 고객들이 주문했던 이력을 바탕으로 코스요리를 구성하려고 한다. orders: 기존 고객들이 주문 했던 이력 course: 코스요리에 포함시킬 메뉴의 가짓 수 orders course result ["ABCFG", "AC", "CDE", "ACDE", "BCFG", "ACDEH"] [..

[BOJ 2170] 선 긋기 (Java)

문제 https://www.acmicpc.net/problem/2170 2170번: 선 긋기 첫째 줄에 선을 그은 횟수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 다음 N개의 줄에는 선을 그을 때 선택한 두 점의 위치 x, y(-1,000,000,000 ≤ x < y ≤ 1,000,000,000)가 주어진다. www.acmicpc.net 풀이 스위핑 기법으로 x좌표 오름차순(같을 경우 y좌표 오름차순 정렬) 후, 라인을 하나씩 체크하면서 길이를 더해나간다. 4 1 3 2 5 3 5 6 7 예제 데이터를 아래와 같이 정렬 한다. 1--3 2---5 3--5 6-7 prev는 현재까지 진행된 라인의 y값 중 가장 큰 값을 저장 1--3 길이 2 prev = 3 2---5: 길이: 2 prev가 3이므..

[프로그래머스] 징검다리 (Java)

문제 https://programmers.co.kr/learn/courses/30/lessons/43236?language=java# 코딩테스트 연습 - 징검다리 출발지점부터 distance만큼 떨어진 곳에 도착지점이 있습니다. 그리고 그사이에는 바위들이 놓여있습니다. 바위 중 몇 개를 제거하려고 합니다. 예를 들어, 도착지점이 25만큼 떨어져 있고, 바위가 programmers.co.kr 풀이 아래 이분 탐색 문제와 동일한 유형의 문제이다. 2021.11.29 - [Problem Solving/BOJ] - [BOJ 2110] 공유기 설치 (Java) 2021.12.01 - [Problem Solving/BOJ] - [BOJ 1654] 랜선 자르기 (Java) 2021.11.30 - [Problem So..

[BOJ 5419] 북서풍 (Java)

문제 https://www.acmicpc.net/problem/5419 5419번: 북서풍 각 테스트 케이스에 대해서, 북서풍을 타고 항해할 수 있는 섬의 쌍의 수를 출력한다. www.acmicpc.net 문제 해석 강한 북서풍이 불고 있다. 이 뜻은 동쪽과 남쪽 사이의 모든 방향으로 항해할 수 있다는 뜻이다. 북쪽이나 서쪽으로 항해하는 것은 불가능하다. 작은 섬이 여러 개 있는 바다가 있다. 섬은 좌표 평면의 한 점으로 나타낼 수 있다. y 좌표가 증가하는 방향은 북쪽, x좌표가 증가하는 방향은 동쪽이다. 북서풍을 타고 항해할 수 있는 섬의 쌍의 수를 구하는 프로그램을 작성하시오. 북서풍을 타고 항해할 수 있는 섬의 쌍의 수를 구하는 문제이다. 즉 아래와 같이 화살표가 X가 증가, Y가 감소하는 방향으..

[Jira][Agile] Initiative, Epic, Story, Task 차이

참고 https://www.atlassian.com/ko/agile/tutorials/epics https://www.atlassian.com/ko/agile/project-management/epics Epic, Story, Task ? Epic 완료 하기 까지 긴 시간이 필요하거나 몇 번의 스프린트가 요구되는 큰 업무 덩어리 여러 개의 스토리로 또는 태스크로 쪼개질 수 있음 Story 유저 스토리로 불리며, 엔드 유저의 관점에서 쓰여진 간단한 요구 사항 스토리는 하나의 심플한 이야기라고 할 수 있음 연관된 스토리들이 모여서 하나의 에픽을 생성 Task? (Task > Sub Task) 스토리를 완료하기 위해 개발자가 작업해야 하는 단위 작업 Example A라는 회사에서 로켓 발사를 추진할 계획이며,..

💻IT 2021.12.06

[BOJ 2357] 최솟값과 최댓값 (Java)

문제 https://www.acmicpc.net/problem/2357 2357번: 최솟값과 최댓값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수, 또는 제일 큰 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100 www.acmicpc.net 풀이 Segment Tree 응용 문제이다. 2021.12.06 - [Problem Solving/BOJ] - [BOJ 2042] 구간 합 구하기 (Java) [BOJ 2042] 구간 합 구하기 (Java) 문제 https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000..

[BOJ 11505] 구간 곱 구하기 (Java)

문제 https://www.acmicpc.net/problem/11505 11505번: 구간 곱 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 곱을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 풀이 구간 합 구하기와 비슷한 풀이다. 2021.12.06 - [Problem Solving/BOJ] - [BOJ 2042] 구간 합 구하기 (Java) [BOJ 2042] 구간 합 구하기 (Java) 문제 https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ..

[BOJ 11659] 구간 합 구하기 4 (Java)

문제 https://www.acmicpc.net/problem/11659 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 풀이 Segment Tree로 풀 수 있다. 2021.12.06 - [Problem Solving/BOJ] - [BOJ 2042] 구간 합 구하기 (Java) [BOJ 2042] 구간 합 구하기 (Java) 문제 https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M..

[BOJ 2042] 구간 합 구하기 (Java)

문제 https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net 풀이 Segment Tree를 이용하여 풀 수 있다. 아래 블로그를 참고 하여 학습하였다. https://m.blog.naver.com/ndb796/221282210534 41. 세그먼트 트리(Segment Tree) 이번 시간에 다룰 내용은 여러 개의 데이터가 연속적으로 존재할 때 특정한 범위의 데이터의 합을 구하는 ... blog..