분류 전체보기344 2022.04.07 목요일 - 헬스 3일차 (feat.핏타민) 어제 알 배겼던 몸으로 더 운동했더니 몸이 더 찌뿌둥해졌다. 몸은 아프지만 입가에는 미소가 사라질 수가 없었다. 만성피로가 있듯 만성 근육통에 시달리던 작년 이맘때와는 달리 그동안 너무 몸이 편안했던 것 같다(대신 지금 뇌가 절여지고 있지만 ㅠㅠ) 확실히 운동을 하니 알고리즘이 더 잘 풀리고 공부도 더 잘 되는 느낌이 든다. 오늘은 엊그제 상담하고 구독했던 핏타민(Fitamin) 영양제가 도착했다. 유투버 에이전트 H님 영상 보다가 핏타민 나와서 검색해 보니까 맞춤 영양제 구독 서비스여서 바로 상담 신청 후 구독신청했다. 안 그래도 철분제랑, 블랙마카, 멀티비타민 등 영양제 다 떨어졌는데 타이밍 좋게 구독을 한 것 같다. 아직 창창한 28세(만 26세)지만 젊을 때 미리 미리 챙겨 먹어둬야 향후 10~2.. 운동(Work-out)/운동일지(Work-out record) 2022. 4. 8. 2022.04.06 수요일 - 헬스 2일차 (feat.뻑뻑하고 찌뿌둥한 몸뚱아리) 역시 아무리 필라테스로 코어근육/속근육을 단련했다지만 근력운동을 뒷받침 하지 않으니 알이 배겨서 온몸이 찌뿌둥해졌다. 오랜만에 알 배기니까 살아있음을 다시 한 번 느꼈다. 이 맛에 운동하지~! 알배긴 가슴을 먹이고, 등을 먹이고, 하체를 먹이고, 복부를 먹이는데 뭔가 행복하다. 확실히 알배길 때 운동하니 수행능력은 떨어지나 알배겼다는 것 자체가 행복했다. 물론 알 배기지 않는다고 근육이 찢어지지 않은 건 아니지만 언젠가 몸이 익숙해져서 이 정도의 알을 배기기 힘들어질 때를 생각할 때 행복했던 지금을 생각하겠지...! 운동전 스트레칭 15~20분 1. 스미스 머신 스쿼트 20kg x 10reps, 40kg x 10reps, 40kg x 10reps, 40kg x 13reps 2. 바벨 벤치 프레스 30kg.. 운동(Work-out)/운동일지(Work-out record) 2022. 4. 8. 2022.04.05 화요일 - 헬스 1일차 (feat.아놀드 골든식스) 2달간의 월, 수, 금(24회) 필라테스가 끝나고 어느정도 밸런스가 맞춰졌다 싶어서 헬스를 등록했다. 3달여만의 헬스재개라 가볍게 전신 근육을 푼다는 느낌으로 첫 주 운동을 했다. SSAFY에다가 자습할 시간 때문에 운동을 포기한다? 어림도 없지! 체력이 곧 정신력을 뒷받침 해 준다! 하지만 시간이 많지 않기 때문에 레전드 of 레전드 아놀드의 골든식스 루틴(제대로 따라한다면 50분 남짓으로 근력운동은 끝남)으로 첫 3달(12주)간 운동 수행을 할 예정이다. 운동전 스트레칭 15~20분 1. 바벨 벤치 프레스 20kg x 10reps, 40kg x 10reps, 40kg x 10reps, 40kg x 8reps 2. 스미스 머신 스쿼트 20kg x 10reps, 40kg x 10reps, 60kg x 1.. 운동(Work-out)/운동일지(Work-out record) 2022. 4. 8. 백준 1912 - 연속합 JAVA 해당 문제는 손으로 끄적여가면서 풀다가 탁 깨달은 시점에서 술술 풀어나간 문제이다. 생각보다 매우 간단한 로직이지만 그동안 풀었던 문제들 + 단계별로 풀기 끝에 있다는 것을 감안해서 스스로 어려운 문제일 것이다라고 되뇌다가 시간이 오래 걸린 문제이다. -> "생각보다 쉬웠다"라는 뜻 1. n개의 정수, 1 1 + 2 가 최대고 -1,000일 때는 굳이 안 더해주는 게 나을지도? 3. 그렇다면 합한 수가 0보다 낮아지지 않는 시점까지는 연속합(누적합)을 해주다가 0보다 낮은 경우에는 그냥 연속합(누적합)에 넣는 것을 포기하고 다시 0보다 큰 수가 나오는 시점부터 합해주면 좋을 듯 하다. 4. 동시에 max값은 유지하면서 n번 째까지 다 돌았을 때의 max값이 답일 것이다. 일반적으로 입력을 받을 때 로직을.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 4. 3. 백준 2565 - 전깃줄 JAVA 해당 문제를 처음 접했을 때는 점화식을 구하기 보다 구현으로 해결하려고 했었다. 그래서 아래와 같이 Comparator를 두 번이나 오버라이딩 해서 썼다. 하지만,,, 결과는 9퍼에서 틀림! import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.Comparator; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { // 전깃줄 .. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 4. 1. 백준 11054 - 가장 긴 바이토닉 부분 수열 - JAVA 바로 직전에 풀었던 백준 11053 문제의 응용편이다. 11053 풀땐 3시간이 걸렸지만 바로 응용해서 푸니 10분? 20분만에 푼 것 같다. 어쩐지 정답률이 높더라... 2022.03.31 - [알고리즘공부(AlgorithmStudy)/문제풀이(ProblemSolving)] - 백준 11053 - 가장 긴 증가하는 부분 수열 JAV 백준 11053 - 가장 긴 증가하는 부분 수열 JAV 쉬운 것 같아서 점화식 짜고 대충 구현해서 풀다가 3시간 만에 풀었던 DP문제다. 매 순간 긴장을 놓치면 안 된다는 것! 자만하면 안 된다는 것을 다시 한번 일깨워준 문제...! 시간 복잡도 계산 정 chaaany.tistory.com 1. 1부터 n까지는 오름차순인 증가하는 최장 수열 길이 찾아서 dp[n][0]에 할.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 31. 백준 11053 - 가장 긴 증가하는 부분 수열 JAV 쉬운 것 같아서 점화식 짜고 대충 구현해서 풀다가 3시간 만에 풀었던 DP문제다. 매 순간 긴장을 놓치면 안 된다는 것! 자만하면 안 된다는 것을 다시 한번 일깨워준 문제...! 시간 복잡도 계산 정확하게 안 하고 점화식은 몇 분만에 구하고 시간 복잡도 터질까봐 배제했던 코드가 답이었다!.. ㅜㅜ 2차원 배열 선언하고 Comparator 재정의해서 정렬하고... 별짓을 다했다 1. 1 n번쨰 까지의 최장 길이 수열 = n번째 수 > n-1 일 경우 n번째 수를 넣은 수열 or // 10 20 10 30 20 50 // O O X O X O // 8 6 9 1 4 6 7 4 3 7 4 7 2 5 2 10 1 // 1 1 2 1 2 3 4 2 2 4 3 4 2 4 2 5 1 // 8 // O // 8 6 /.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 31. 백준 2156 - 포도주 시식 JAVA 처음에 딱 보고??? 이거 계단 오르기 아닌가? 라고 생각 했지만 역시나 아니었다. 이유는 문제 풀이 과정에서! 1. 포도주 잔 선택 시 무조건 다 마셔야 함 2. 3잔 연속으로 놓여 있는 잔을 마실 순 없음 -> 연속 +1, +1은 불가 3. 1 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 29. 백준 10844 - 쉬운 계단 수 JAVA 해당 문제는 실버 1이었지만 단계별로 풀이 문제 중에 실버2, 3문제랑 비교해봤을 때 상대적으로 쉬웠던 문제로 보인다. 티어는 그저 거들뿐 .. !! 아닌가? DP + Padding + 모듈러연산을 사용한 것이니 응용버전인 것으로 보이긴 한다... 잡담은 그만하고 DP + Padding(딱 맞는 크기의 배열을 선언하기 보다 적절히 빈 배열을 만들어서 활용하는 기법)+ 모듈러 연산을 통해서 문제를 풀었다. 문제 푸는데 소요시간 : 대략 50분 문제 접근/풀이 과정 1. 계단 수란 인접한 모든 자리의 차이가 1인 경우 2. n번 째 m으로 시작하는 수의 경우의 수 = n-1번째 m-1로 시작하는 수의 경우의 수 or n-1번째 m+1로 시작하는 수의 경우의 수 3. 추가적으로 고려해야할 부분 = 맨 앞의 수.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 28. 백준 2579 - 계단 오르기 JAVA 해당 문제를 접근했을 때 머리가 굳어있어서 그런지 점화식을 찾고도 구현을 하지 못했다. 그래도 이 문제 덕에 DP에 좀 더 익숙해진 것 같다. 문제 접근 과정 1. 계단 갯수는 최대 300개, 점수는 10,000 이하 : 최대 3,000,000(연속으로 계단 올라간다는 조건 무시) -> int 선언 2. 한 번에 +1 or +2씩 계단 오를 수 있지만 연속된 세 계단 금지 3. 도착 계단은 반드시 밟기 4. 그렇다면 이미 목적 계단 가기 이전의 특정 계단을 밟는 순간 최댓값을 알 수 있지 않을까? 5. n번 째 계단까지의 max 합 = n번 째 계단의 점수 + max( (n-2번째까지의 max 합), (n-3번째 까지의 max + n-1번째 계단의 점수)) 6. 2번에서 연속된 세 계단을 오를 수 없다고.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 27. 백준 1932 - 정수 삼각형 JAVA 해당 문제는 DP(다이나믹 프로그래밍) 문제다. 보자마자 대략 어떤 식으로 풀면되겠다라고 생각이 든 문제였다. (해당 문제 접근과정) 1. subset 느낌으로 dfs로 코드를 짜봄 2. 점화식을 도출해서 DP로 바꿔봄 3. Scanner를 써서 시간이 좀 오래걸리는 것을 보고 BufferedReader로 재구현 글 보다 코드를 보는 게 더 편한 우리는 개발자이므로 DFS 소스코드와 DP소스코드 작성해 보았습니다. 1. DFS로 코드를 짠 경우 package boj; import java.util.Scanner; public class Boj_1932 { static int dp[][], N, max; public static void main(String[] args) { Scanner sc = new.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 26. 백준 9251 - LCS JAVA 이 문제는 정말 난감했다. 엄청 간단해 보였는데 결국 구선생님의 도움을 받을 수밖에 없었다. 언제나 조져진 건 나였다...! 접근과정 1. 그냥 브루트포스로 다 확인하면 되지 않을까? 최대 2의 1000승(부분집합 경우의 수) x 1000(나온 결과와 상대 문자열 비교) 만큼의 무지성 곱이 나와버린다. 2. 맵과 리스트를 이용해서 그래도 dictionary화 해볼까? ->딱히 1번과 큰 차이가 없다 3. 답은 dp였다... 4. dp는 항상 손으로 직접 끄적여보면서 패턴(점화식)을 찾아야 한다는 걸 오늘 깨닫고 어제도 깨닫고... 5. 구선생님(구글)의 도움으로 어찌저찌 점화식도 구하고 했으나 결국 코딩까지 반이상 복붙하고 말았다. 문제 풇ㅇ 1. for문 ver import java.util.Array.. 알고리즘공부(Algorithm Study)/문제풀이(ProblemSolving) 2022. 3. 24. 이전 1 ··· 25 26 27 28 29 다음 728x90