Programming/Algorithm

푼 날짜 : 2024.07.24푼 문제 : [11727] / 2×n 타일링 2사용한 언어 : python   점화식: dp[i] = dp[i−2]∗2+dp[i−1] (i≥2)  어떻게 구했냐면... 모를 땐 직접 그려보자  점화식 찾기..  (i-1) 에는 너비를 맞추기 위해 블록 하나(=> 2*1타일)씩을 붙일 수 있지만 (i-2) 에는 두 칸을 붙일 수 있으므로 x2를 해준다는 식으로 이해했다. (=> 2는 2*1타일과 2*2타일 두 개를 의미)  예를 들어 현재 주어진 수가 5라면 가로로 5칸을 차지한다.이럴 경우 이전(i-1) 값인 4에는 1을 붙여야 5칸을 만들 수 있다.그 이전(i-2) 값인 3에는 2를 붙여야 5칸을 만들 수 있다.  코드 :import sysN = int(sys.stdin...
푼 날짜 : 2024.07.22푼 문제 : [11726] / 2×n 타일링 1사용한 언어 : python  점화식:dp[i] = dp[i−1]+dp[i−2] (i≥2)  어떻게 구했냐면...     코드 :import sysN = int(sys.stdin.readline())dp = [0 for _ in range(1000+1)]dp[1] = 1dp[2] = 2dp[3] = 3dp[4] = 5for i in range(5, N+1): dp[i] = dp[i-1] + dp[i-2]print(dp[N]%10007)  DP는 마냥 어렵다고 생각했는데 하다보니 너무 재밌다...(?)   [ DP 풀 때 중요한 것 ]1. 점화식을 잘 세우자! 2. 초기값을 잘 설정해주자!
푼 날짜 : 2024.04.30푼 문제 : [연습문제] / 추억점수사용한 언어 : javascript  파라미터 설명 : name그리워하는 사람의 이름을 담은 문자열 배열yearning각 사람별 그리움 점수를 담은 정수 배열photo각 사진에 찍힌 인물의 이름을 담은 이차원 문자열 배열  전체 코드 : function solution(name, yearning, photo) { var answer = []; const myMap = new Map(); name.forEach((user, idx)=> { myMap.set(user, yearning[idx]); }) photo.forEach((item) => { let score = 0; ..
푼 날짜 : 2024.04.30푼 문제 : [연습문제] / 달리기 경주사용한 언어 : javascript  파라미터 설명 : players선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열callings해설진이 부른 이름을 담은 문자열 배열  전체 코드 :  function solution(players, callings) { const myMap = new Map(); players.forEach((item, idx) => { myMap.set(item, idx); }) callings.forEach((item, idx2) => { let idx = myMap.get(item); let temp = players[idx..
푼 날짜 : 2024.01.29 푼 문제 : [PCCP 기출문제] 1번 / 붕대 감기 문제 풀어보기 사용한 언어 : python 파라미터 설명 : bandage 기술의 시전 시간, 1초당 회복량, 추가 회복량을 담은 1차원 정수 배열 health 최대 체력을 의미하는 정수 attacks 몬스터의 공격 시간과 피해량을 담은 2차원 정수 배열 전체 코드 : def solution(bandage, health, attacks): answer = health idx = 1 check = 0 for i in range(1, attacks[-1][0]+1): for j in attacks: if idx == j[0]: answer -= j[1] check = 0 idx += 1 break if i == idx: i..
__narrrrrmm
'Programming/Algorithm' 카테고리의 글 목록 (8 Page)