| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 |
| 9 | 10 | 11 | 12 | 13 | 14 | 15 |
| 16 | 17 | 18 | 19 | 20 | 21 | 22 |
| 23 | 24 | 25 | 26 | 27 | 28 | 29 |
| 30 |
- 백준
- 그래프이론
- level2
- JavaScript
- 자바스크립트
- 딕셔너리
- DP
- 프로그래머스
- 정렬
- 스택
- 구현
- 알고리즘
- 너비 우선 탐색
- lv2
- 그래프 탐색
- 웹 프론트엔드
- 그래프 이론
- 문자열
- 자료구조
- 그리디 알고리즘
- DFS
- BFS
- 파이썬
- 다이나믹 프로그래밍
- BASIC
- 프로그래머스스쿨
- 브루트포스 알고리즘
- programmers
- CSS
- web
- Today
- Total
목록전체 글 (85)
DevLog:-)
문제 코드 while(1): n = int(input()) while(n>9): n = sum(map(int,list(str(n)))) print(n) if n == 0: break 123 숫자→”123” 문자열 →[”1”,”2”,”3”] 리스트 → 1,2,3 숫자리스트→sum합 → n에 담김 ⇒반복합니다.👍
문제 숫자의 표현 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 function solution(n) { let answer = 1;//자기 자신은 미리 1로 추가함 let k; for(let i = 1; in){return;} return s+cv; }) } return answer; } 배열을 이용해서 풀었더니 시간초과! ✍️오히려 단순하게 생각할 필요도 있다는 것을 깨달았다. 📖다른 풀이 function solution(n) { let answer = 0; for (let i = 1; i [자연수를 연속되는 자연수들의 합으로 표현할 수 있는 방..
문제 연속 부분 수열 합의 개수 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr function solution(e) { let s = []; let set = new Set(); //set 중복 안들어감 let k; let sum =e.reduce((sum,cv)=>sum+cv,0); //reduce를 이용해 합을 구함 set.add(sum); let len = e.length //parseInt 나누기의 몫을 구함 for(let i = 1 ; i 시간 초과 발생) //if(s.findIndex((a)=>a==k)==-1){s.push(k);} //fin..
문제 최솟값 만들기 a-b); //배열 오름차순 정렬 B = B.sort((a,b)=>b-a); //배열 내림차순 정렬 for(let i = 0;isum+cv,0); //reduce ->sum . avg 가능 return result; } ✅check point arr.sort((a,b)=>a-b); 배열 오름차순 정렬 arr.sort((a,b)=>b-a); 배열 내림차순 정렬 arr.push(a); 배열에 추가 reduce란? 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환 n_arr = arr.reduce((sum,cv) => sum + cv,0); 배열의 값 합치기 📖다른 풀이 function solution(A,B){ A.sort((a, b) => a..
문제 문제 파악 가로 두 칸, 세로 N 칸인 우리에 사자를 배치하는 문제이다. 배치할 때 조건은 가로, 세로로 붙어 있게 배치할 수 없다는 것이다. N이 커질 수록 이전의 결괏값을 활용해서 풀 수 있는 문제이다. -> DP 규칙을 찾고 점화식을 찾아보자 예제 분석 N이 늘어날 수록 맨 밑에 칸이 추가된다고 생각하면 맨 밑에 칸에 사자를 어떻게 놓을 것이냐에 따라 개수를 찾고 규칙을 찾을 수 있다. 크게 두 가지(놓지 않는 경우, 놓는 경우)로 나눌 수 있다. N = 1 일때 : 놓지 않는 경우 (1) + 놓는 경우 (2) = 총 3 N = 2 일때 : 놓지 않는 경우 (3) + 놓는 경우 (2+2) = 총 7 N = 3 일때 : 놓지 않는 경우 (7) + 놓는 경우 (5+5) = 총 17 -놓지 않는 경..
문제 코드 import sys N = int(sys.stdin.readline()) dp =[0,-1,-1,1,-1,1]+[0 for i in range(N)] for i in range(6,N+1): dp[i] =-1 if(dp[i-3]!=-1 and dp[i-5]!=-1): dp[i] = min(dp[i-3]+1,dp[i-5]+1) elif(dp[i-3]!=-1): dp[i] = dp[i-3]+1 elif(dp[i-5]!=-1): dp[i] = dp[i-5]+1 print(dp[N]) 코멘트 Dp를 이용해서 풀었다. 제시된 무게를 3킬로그램과 5킬로그램 봉지로 나눌 때 봉지 수가 최소가 되도록 하는 문제이다. 제시된 무게까지 for문을 돌려서 dp리스트에 최소 개수를 계속 저장할 수 있도록 했다. 그..
자바스크립트와 웹 프론트엔드 ## 자바스크립트와 웹 프론트엔드 관련 키워드: JavaScriptHTMLCSS웹프론트엔드입문 * [Hello, JavaScript!](https://programmers.co.kr/learn/courses/3)에서 배운 자바스크립트를 활용해서 웹 프론트엔드 기능을 다뤄 school.programmers.co.kr 4.Networking -AJAX - Request 보내기 AJAX 브라우저에서 페이지를 이동하지 않고 자바스크립트를 통해 HTTP Request를 보내고 받아 JS에서 처리할 수 있음 사용자에게 더 나은 사용 경험 제공, 대부분의 웹사이트에서 사용되고 있는 기술 페이지 이동 없이 서버와 정보 교환 가능 1. AJAX를 위한 객체 생성 var req = new XM..
자바스크립트와 웹 프론트엔드 ## 자바스크립트와 웹 프론트엔드 관련 키워드: JavaScriptHTMLCSS웹프론트엔드입문 * [Hello, JavaScript!](https://programmers.co.kr/learn/courses/3)에서 배운 자바스크립트를 활용해서 웹 프론트엔드 기능을 다뤄 school.programmers.co.kr 3.Event + JS -Callback function Callback Function 조건을 등록해 두고 그 조건을 만족한 경우, 나중에 호출되는 함수 -시간을 기반으로 콜백함수를 호출하는 명령 setTimeout( function, time ) time 시간이 지난 경우 function 함수를 콜백 하는 함수 time 은 millisecond (1/1000초)..
문제 코드 n=int(input()) s=[int(input()) for _ in range(n)] dp=[0]*(n) # dp 리스트 if len(s)
문제 1. 초기 풀이 import sys N = int(sys.stdin.readline()) li = [list(map(int,sys.stdin.readline().strip().split())) for _ in range(N)] s =[0] for i in range(N-1,-1,-1): S = li[i][0] M = li[i][1] MAX = M if(i+S-1)>=N: li[i][1] = -1 continue for j in range(i+S,N): #해당 일자의 상담기간 이후 기간을 for문으로 돌면서 최대 금액을 찾는다. if(li[j][1] != -1 ): MAX = max(MAX, M + li[j][1]) li[i][1] = MAX #각 일자별 최대 금액으로 list를 갱신한다. s.app..