Loading...

[프로그래머스] h-index (파이썬, javascript)

1. javascript 가장 큰 인용 가능 수 =논문 개수, 최소=0 나는 완전탐색으로 했다 function solution(citations) { var answer = 0; for(let i=citations.length;i>=0;i-=1){ const arr=citations.filter(x=>x>=i); if(arr.length>=i && citations.length-i0: cnt=0 for c in citations: if c>=idx: cnt+=1 if cnt>=idx and len(citations)-cnt

[프로그래머스] 짝지어 제거하기 (파이썬, javascript)

o(n) 시간 안에 해결해야 되는 문제들을 잘 못 푸는데 이런 방법이 있다는 것을 알았다 여기저기 쓰일 것 같으니 잘 봐놔야지 1. 파이썬 풀이 def solution(s): answer = [] for i in range(len(s)): if len(answer)==0: answer.append(s[i]) elif answer[-1]==s[i]: answer.pop() else: answer.append(s[i]) if len(answer): return 0 else: return 1 2. javascript function solution(s) { var answer = 0; const stack=[]; for(let i=0;i

[You Don't know JS] part 2-1 스코프와 클로저 - 스코프란 무엇인가 정리

스코프 특정 장소에 변수를 저장하고 나중에 그 변수를 찾는데 정의된 규칙의 집합 컴파일러 자바스크립트는 사실 컴파일러 언어이다. (일반적으로 동적, 인터프리터 언어로 분류됨) 다른 전통적인 컴파일러 언어처럼 코드를 미리 컴파일하거나 그 결과를 분산 시스템에서 이용할 수는 없다 자바스크립트 엔진이 전통적인 컴파일러 언어에서 하는 컴파일러 역할을 대부분 처리한다 전통적인 컴파일러 처리 과정 소스코드가 실행되기 전에 보통 3단계를 거치는데, 이를 컴파일레이션이라고 한다 1. 토크나이징/렉싱 문자열을 나눠 토큰이라는 의미있는 조각으로 만드는 과정 var a=2; => var / a / = / 2 / ; 토크나이저가 상태 유지 파싱 규칙을 적용해 a가 별개의 토큰인지 다른 토큰 일부인지 파악한다면 그것은 렉싱이다..

프로그래머스 입국심사 (파이썬, javascript, 이분탐색)

l, r은 시간 기준이며 모든 사람이 다 처리될 수 있는 최소 시간을 구해준다 mid(기준 시간)을 각 줄에서 처리할 수 있는 시간으로 나눠주면 전체 처리된 인원 수가 나오게 된다 1. 파이썬 def solution(n, times): l=min(times)*n//len(times) r=max(times)*n//len(times) answer=r while l=n: if answer>mid: answer=mid r=mid-1 else: l=mid+1 return answer 2. javascript 사람 수가 n보다 큰 경우도 시간을 갱신하는 조건이다. 가장 오래는 걸리는 시간을 right으로 해서 전체 시간을 각 시간으로 나눠준 것으로 사람 수를 계산한다. function solution(n, time..