분류 전체보기 381

[백준 - 11047] 동전 0 - Java

문제 설명 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 풀이 회고 해당 문제에서 요구하는 것은 오름차순으로 동전의 가치가 주어졌을 때 해당 동전들로 k원을 만드는데 필요한 동전 개수의 최솟값입니다. 이 문제는 그리디 알고리즘의 유형으로 정답을 구하기 위해서는 가장 가치가 큰 동전들을 토대로 k원을 구성해야합니다. 이때 입력 받은 동전의 가치들을 저장한 배열은 오름차순으로 정렬되어있으므로 배열의 끝 부분부터 k원을 나누면서 몫이 존재할 때(1 이..

Algorithm/BOJ 2022.04.18

2022 마스터즈 코스(백엔드) 71일차 회고(2022. 4. 18.) - "두 번째 프로젝트 시작과 새로운 협업"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 지난 2주간의 투두리스트 팀 프로젝트를 마무리하고 오늘부터 주문 서비스 웹 앱 팀 프로젝트가 시작되었다. 지난 번의 팀 프로젝트와 동일하게 이번에도 백 엔드 2명과 프론트 엔드 2명으로 팀이 구성되었다. 이번에 처음 뵙게 된 프론트 엔드 팀원 분들은 사실 지난 투두리스트 미션에서 같은 그룹에 속했었던 분들이셨고 특히 같은 백 엔드 팀원인 피오는 매주 수요일마다 알고리즘 스터디를 같이 하고 있었기에 모두 다 반가웠었다. 지난 미션에서도 프론트 엔드 분들과 호흡을 맞추어 봤었지만 분명히 현재의 프론트 엔트 팀원분들은 지난 번 프론트 엔드 팀원분들과 또 스타일이 다를 것..

2022 마스터즈 코스(백엔드) 70일차 회고(2022. 4. 15.) - "즐겁고 재밌었던 첫 번째 팀 프로젝트"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 오늘로 지난 2주간 진행되었던 프로젝트 과정의 첫 번째 미션 투두리스트 구현 프로젝트가 종료되었다. 이번 미션 과제의 경우 백 엔드 2명과 프론트 엔드 2명이 팀을 이루어 과제를 수행하는 방식으로서 지금까지의 미션 과제들 보다 더욱 특별했었다. 지난 2주라는 시간을 되돌아 보았을 때 깃(Git), 스프링(Spring), 데이터 베이스(Database), AWS, 문서(Document) 작성 등 개발과 관련된 많은 것들을 학습할 수 있었는데, 무엇보다 가장 가치가 있었던 학습은 '협업'에 관한 것이었다. 백 엔드와 프론트 엔드간의 협의 사항 중 최대의 접점은 API와..

[백준 - 2805] 나무 자르기 - Java

문제 설명 2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 풀이 회고 해당 문제는 이분 탐색을 이용하여 해결할 수 있었습니다. 우선 문제에서 요구하는 것은 최소 m 만큼의 나무 높이를 얻기 위해 n개의 나무를 자를 절단기의 최대 높이를 구하는 것입니다. 우선 이분 탐색을 위해 다음과 같이 n개의 나무의 높이를 배열 각각의 요소에 할당한 후 오름차순으로 정렬합니다. for (int i = 0; i < n; i++) { trees[i] = Integer.parseInt(st..

Algorithm/BOJ 2022.04.15

2022 마스터즈 코스(백엔드) 69일차 회고(2022. 4. 14.) - "기능 구현 그리고 아쉬움"

해당 글은 코드스쿼드 2022 마스터즈 코스 "Java 웹 백엔드" 과정을 수강하면서 학습한 내용 등에 대한 회고 글입니다. :) 수강 회고 오늘로 벌써 팀 프로젝트 수행의 마지막 직전의 날이 되었다. 내일 오후에는 별도로 전체 공유 및 클래스별 피드백 시간을 가지기에 사실상 오늘이 거의 마지막 팀 프로젝트 수행 시간이었다. 다행히 오늘로 당초 이번 팀 프로젝트에서 팀원들간에 목표했었던 기능 구현까지는 해낼 수 있었다. 사실 이번 프로젝트를 진행하면서 팀에서 프론트 엔드 역할을 하고 계시는 Khan과 Nick이 더 나은 UX 제공을 위한 좋은 의견들을 주시고 아울러 백엔드 역할을 하고 있는 나와 Hanse의 의견을 잘 수렴해주신 덕에 팀 프로젝트를 수행함에 있어 큰 어려움은 없었던 것 같다. 이번 팀 프..