본문 바로가기

분류 전체보기221

[책 리뷰] 아주 작은 반복의 힘 - 로버트 마우어 완벽주의를 지향하며 작은 행동을 실천으로 옮기는 것을 힘들어하던 나에게 단비가 되어주었던 책 이 책에서는 작은 반복들이 모여 거대한 결과를 이루어낼 수 있는 구체적인 방법들과 사례들을 배울 수 있다. 예전의 내가 왜 계획을 세워도 끝까지 완주를 하지 못하였는지 정확히 알 수 있게 된 책이고 이 책에서 배운 내용들을 일상생활에서 써먹으면서 많은 성장을 이룰 수 있었다. 예를 들어서 운동을 꾸준하게 나가는 것, 알고리즘 문제를 꾸준히 푸는 것, 하루하루 개발 공부를 하고 깃허브 잔디를 심는 습관 등등 좋은 습관들을 이 책을 읽고서 정착시킬 수 있었다. 부족한 건 의지가 아니라 방법이었던 것이다. 무언가를 이루고 싶은 열망은 강하나 번번이 포기하거나 원하는 목표를 어떻게 이루어야 할지 고민을 하고 있는 분들은.. 2023. 7. 12.
백준 2512번 풀이 c++ and java 문제 국가의 역할 중 하나는 여러 지방의 예산요청을 심사하여 국가의 예산을 분배하는 것이다. 국가예산의 총액은 미리 정해져 있어서 모든 예산요청을 배정해 주기는 어려울 수도 있다. 그래서 정해진 총액 이하에서 가능한 한 최대의 총 예산을 다음과 같은 방법으로 배정한다. 모든 요청이 배정될 수 있는 경우에는 요청한 금액을 그대로 배정한다. 모든 요청이 배정될 수 없는 경우에는 특정한 정수 상한액을 계산하여 그 이상인 예산요청에는 모두 상한액을 배정한다. 상한액 이하의 예산요청에 대해서는 요청한 금액을 그대로 배정한다. 예를 들어, 전체 국가예산이 485이고 4개 지방의 예산요청이 각각 120, 110, 140, 150이라고 하자. 이 경우, 상한액을 127로 잡으면, 위의 요청들에 대해서 각각 120, 1.. 2023. 7. 12.
백준 17266 c++ and java 문제 인하대학교 후문 뒤쪽에는 어두운 굴다리가 있다. 겁쟁이 상빈이는 길이 조금이라도 어둡다면 가지 않는다. 따라서 굴다리로 가면 최단거리로 집까지 갈수 있지만, 굴다리는 어둡기 때문에 빙빙 돌아서 집으로 간다. 안타깝게 여긴 인식이는 굴다리 모든 길 0~N을 밝히게 가로등을 설치해 달라고 인천광역시에 민원을 넣었다. 인천광역시에서 가로등을 설치할 개수 M과 각 가로등의 위치 x들의 결정을 끝냈다. 그리고 각 가로등은 높이만큼 주위를 비출 수 있다. 하지만 갑자기 예산이 부족해진 인천광역시는 가로등의 높이가 높을수록 가격이 비싸지기 때문에 최소한의 높이로 굴다리 모든 길 0~N을 밝히고자 한다. 최소한의 예산이 들 높이를 구하자. 단 가로등은 모두 높이가 같아야 하고, 정수이다. 다음 그림을 보자. 가로.. 2023. 7. 10.
백준 8979번 풀이 c++ and java 문제 올림픽은 참가에 의의가 있기에 공식적으로는 국가간 순위를 정하지 않는다. 그러나, 많은 사람들이 자신의 국가가 얼마나 잘 하는지에 관심이 많기 때문에 비공식적으로는 국가간 순위를 정하고 있다. 두 나라가 각각 얻은 금, 은, 동메달 수가 주어지면, 보통 다음 규칙을 따라 어느 나라가 더 잘했는지 결정한다. 금메달 수가 더 많은 나라 금메달 수가 같으면, 은메달 수가 더 많은 나라 금, 은메달 수가 모두 같으면, 동메달 수가 더 많은 나라 각 국가는 1부터 N 사이의 정수로 표현된다. 한 국가의 등수는 (자신보다 더 잘한 나라 수) + 1로 정의된다. 만약 두 나라가 금, 은, 동메달 수가 모두 같다면 두 나라의 등수는 같다. 예를 들어, 1번 국가가 금메달 1개, 은메달 1개를 얻었고, 2번 국가와.. 2023. 7. 9.
백준 1027번 c++ and java 문제 세준시에는 고층 빌딩이 많다. 세준시의 서민 김지민은 가장 많은 고층 빌딩이 보이는 고층 빌딩을 찾으려고 한다. 빌딩은 총 N개가 있는데, 빌딩은 선분으로 나타낸다. i번째 빌딩 (1부터 시작)은 (i,0)부터 (i,높이)의 선분으로 나타낼 수 있다. 고층 빌딩 A에서 다른 고층 빌딩 B가 볼 수 있는 빌딩이 되려면, 두 지붕을 잇는 선분이 A와 B를 제외한 다른 고층 빌딩을 지나거나 접하지 않아야 한다. 가장 많은 고층 빌딩이 보이는 빌딩을 구하고, 거기서 보이는 빌딩의 수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 빌딩의 수 N이 주어진다. N은 50보다 작거나 같은 자연수이다. 둘째 줄에 1번 빌딩부터 그 높이가 주어진다. 높이는 1,000,000,000보다 작거나 같은 자연수이다. 출.. 2023. 7. 7.
백준 13144 c++, java 풀이 문제 길이가 N인 수열이 주어질 때, 수열에서 연속한 1개 이상의 수를 뽑았을 때 같은 수가 여러 번 등장하지 않는 경우의 수를 구하는 프로그램을 작성하여라. 입력 첫 번째 줄에는 수열의 길이 N이 주어진다. (1 ≤ N ≤ 100,000) 두 번째 줄에는 수열을 나타내는 N개의 정수가 주어진다. 수열에 나타나는 수는 모두 1 이상 100,000 이하이다. 출력 조건을 만족하는 경우의 수를 출력한다. 예제 입력 1 복사 5 1 2 3 4 5 예제 출력 1 복사 15 예제 입력 2 복사 5 1 2 3 1 2 예제 출력 2 복사 12 예제 입력 3 복사 5 1 1 1 1 1 예제 출력 3 복사 5 이 문제는 투포인터 알고리즘을 사용한다. 문제의 로직 1. 수열들을 모두 입력 받는다. 2. 투포인터의 원점 s.. 2023. 7. 6.