2805번: 나무 자르기 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) 둘째 줄에는 나무의 높이가 주어진다. 나무의 높이의 합은 항상 M보 www.acmicpc.net 핵심요소 잘린 나무의 총 길이를 어떠한 방식으로 계산할 수 있을까? 절단기의 높이 조절의 기준을 무엇으로 해야 할까? 문제풀이 잘린 나무의 총 길이는 현재의 높이에서 잘릴 수 있는 모든 나무를 비교하면서 값을 하나씩 추가하도록 하자. 절단기의 높이는 잘린 나무의 길이가 원하는 값보다 클 경우 높이고, 잘린 나무의 길이가 원하는 값보다 낮을 경우 낮추도록 한다. 일반적인 브루트 포스로 문제를 풀이하기에는 1초라는 시간이 부족..
2869번: 달팽이는 올라가고 싶다 첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000) www.acmicpc.net 핵심요소 매일마다 올라가는 총 높이는 몇인가? 문제풀이 하루에 올라갈 수 있는 높이에서 미끄러지는 높이를 빼면 매일 올라갈 수 있는 총 높이가 나온다 그러면 매일 마다 올라갈 수 있는 높이를 막대의 총 길이에서 나누면 해결되지 않을까? 어? 뭔가 이상하다 도착한 후에는 더는 미끄러지지 않는데 미끄러지는 것까지 계산해버린 것 같다. 그러면 총 높이에서 1번 미끄러지는 것을 빼고 계산을 하면 될 것 같다. 첫 번째 예시에 있는 결과가 나왔지만, 뭔가 하나 빠트린 게 있는 것 같다. 다른 예시를 사용해서 테스트해 보도록 하자..
백준 1436번 문제입니다. 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net 핵심요소 처음 시작되는 숫자 666 ~ 임의의 숫자까지 Loop를 돌면서 666이 포함된 수를 찾는 것 666을 찾을 때 쓰는 방법은 어떻게 확인해야 하는가? 문제풀이 1. 요소처럼 문제의 첫 시작은 for 문을 돌면서 666 ~ 임의의 숫자까지 Loop를하면서 해당하는 요소가 발견되었을 경우 카운트를 추가 시켜 몇 번째 해당하는 수 인지 확인하도록 설정합니다. 임의의 숫자는 10,000,000으로 지정합니다. 2. 파이썬에는 in..
오늘 한일 알고리즘 마라톤 38 ~40번 문제를 풀었습니다. 마지막 남은 문제들은 난이도가 높지 않아 손쉽게 풀 수 있었고, 2가지의 브루트 포스 문제를 DFS방식으로 풀이하면서 부족한 DFS 지식을 최대한 활용하면서 머릿속에 넣을려고 노력하였습니다. 드디어 권장 진도를 전부 풀이하였습니다. 알고리즘 마라톤을 진행하면서 아직까지도 머릿속에 들어오지 않는 문제들이 있었습니다. 이런 문제들을 따로 체크해 반복학습하여 저의 지식으로 만들도록 노력해야겠다는 마음을 먹었습니다. 오늘 배운 것 알고리즘 마라톤 38 ~ 40번 문제 풀이 알고리즘 인터뷰 다익스트라 알고리즘 챕터 풀이 내일 할 것 알고리즘 마라톤 체크 문제 오답노트 및 풀이 알고리즘 인터뷰 풀이
오늘 한일 알고리즘 마라톤 36 ~ 37번 문제를 풀었습니다. 두 문제 모두 DFS를 기반으로한 백트래킹 문제이자, 다이나믹 프로그래밍 문제였습니다. 재귀함수에 대한 기본적인 개념은 이해하고있지만, 그것을 실제 적용하면서 다이나믹 프로그래밍으로 적용하는것이 쉽지 않다는 것을 깨달았습니다. 알고리즘 인터뷰를 10문제 보았습니다. 그리디 알고리즘, 다익스트라 알고리즘, 다이나믹 프로그래밍 파트를 확인하였고, 개념에 대해 이해하려고 노력했습니다. 오늘 배운 것 알고리즘 마라톤 36 ~ 37번 문제 풀이 알고리즘 인터뷰 10문제 확인 내일 할 것 알고리즘 마라톤 문제 풀이 알고리즘 인터뷰 풀이 코드잇 기본 강의 풀이
오늘 한일 항해톡 1회 발표영상을 편집했습니다. 녹화 화면에서 웹캠으로 크루원들과 튜터님의 얼굴이 노출되서 바로 유튜브에 올리기는 힘들다 생각하였고, 화면을 잘라서 올려야겠다는 생각을 했습니다. Adobe Premiere 로 튜토리얼 영상을 보면서 화면자르기, 해상도 조절, 블러효과를 사용해보았으며, 영상에서 의미없는 부분을 cut하면서 영상을 편집하였습니다. 2주차 WIL 작성을 하였습니다. 저번주의 WIL은 작성이 1시간 30분가량 걸렸던 것으로 기억하는데, 이번주는 항해톡 발표와 알고리즘 마라톤으로 인해 추가해야할 자료가 많았던 것 같습니다. 오늘 배운 것 항해톡 발표자료 Youtube 업로드 WIL 작성 내일 할 것 알고리즘 마라톤 문제 풀이 알고리즘 인터뷰 풀이
오늘 한일 알고리즘 마라톤 30~35번 문제를 풀었습니다. DFS, 백트래킹 등 재귀함수를 활용해서 푸는 문제들이 많았었고, Base case부터 논리적인 접근으로 어떤 구조로 동작하는지에 대해서는 대략적으로 이해를 하고 있지만, 재귀함수로 구현하면서 어떠한 방식으로 동작을 시켜야 할 지가 가장 애매했던 문제였습니다. 알고리즘 풀이도중 수열, 조합, 순열 등 수학과 관련되서 나온 문제들이 많았습니다. 구현을 하기위해 어느정도의 수학적 지식이 필요해 유튜브를 참조해서 문제를 풀었고, 관련된 알고리즘들에 대한 식을 공부해야될 것 같습니다. 오늘 배운 것 알고리즘 마라톤 30 ~ 35번 문제 풀이 DFS, BFS, 백트래킹 등 재귀함수 풀이 알고리즘 인터뷰 책 풀이방법 내일 할 것 일주일간의 재정비 항해톡 발..
오늘 한일 알고리즘 마라톤 26 ~ 29번 문제를 풀었습니다. 난이도가 좀 높았다고 생각되는 문제들이였습니다. 문제를 풀이하다 답답함을 느껴 마음의 안식을 얻기 위해 코드잇 강의를 들었으나, Dynamic Programming은 기본개념조차 저를 쉽게 넘기게 해주지 않았고, 개념을 공부하는데 시간을 많이 쏟았던 것 같습니다. 오늘 배운 것 알고리즘 마라톤 26 ~ 29번 문제 풀이 Dynamic Programming 기본 개념 이해 내일 할 것 알고리즘 마라톤 문제풀이 DFS, BFS 개념 이해
오늘 한일 알고리즘 마라톤 14번 문제 ~ 25번 문제까지 풀었습니다. 어제의 다짐처럼 파이썬이 제공하는 함수를 사용하지 않고, 정렬알고리즘을 사용하려고 했던 저의 생각을 문제의 정답을 파이썬 함수를 사용하여 풀이를 하고, 이후 정답을 맞추었을 때 sort와 같은 간편한 파이썬 내장함수를 삭제한 후 정렬 알고리즘을 상황에 맞춰 추가하여 아직까지도 애매하게 남아있는 알고리즘에 대해서 반복학습을 하고 있습니다. 저녁 8시 Spring에 대한 QnA 세션이 있었습니다. 아직까지도 Node js를 선택할 지 Spring을 선택할 지 확정을 못지은 저에게는 아주 중요한 시간이였습니다. 원래 정해져 있던 1시간가량의 시간을 넘어 2시간 30분 가량의 세션이 진행되었고, 진행된 시간 만큼 Spring의 궁금증을 확실..