본문 바로가기

전체 글74

JSP Web Programming  변화 과정html -> Servlet -> JSP -> MVC -> MVC/frame work(spring) Servlet :java안에 html을 넣음 jsp:html에 java를 넣음* 서로 반대의 관계 시간이 지날수로 jsp내의 java 코드가 스파게티가 되어 버림 MVC:html 과 java를 분리하자 ( front,back 구분) 2024. 10. 3.
H-index 문제이해 논문인용횟수 배열에서 h번 이상인용된 논문이 h개 이상인 최대 h값 구하기 정렬1.배열을 내림차순하기2.배열을 돌면서 각 요소의 횟수와 각 배열을 돈 횟수 (논문의 개수세어주는거 +1 cnt) 에서 논문인용횟수보다 논문의 개수가 같거나 커질때를 기준으로 cnt출력 = ( h-index)3. [4,4,4,4] 이런배열일때 답이 4가나와야하는데 3이나오는문제 => 마지막 cnt 더세고 return 하기   def solution(citations): citations.sort(reverse=True) cnt = 0 for i in citations: #citations배열의 각요소를 돌면서 몇번인용되어있는지의 수가 개수세어서 몇편인용되었는지보다 작거나 같은것이 h-index값 .. 2024. 7. 6.
디스크 컨트롤러 문제이해 jobs의 각 행은 하나의 작업에 대한 [작업이 요청되는 시점, 작업의 소요시간]작업의 요청부터 종료까지 걸린 시간의 평균이 최소가 되는 값 구하기즉 작업의 요청부터 종료까지 걸린시간을 최소로 하기핵심 : 작업시간이 가장 적게걸리는 것 (작업소요시간이작은것) 부터 수행한다1. 시작시간을 0 으로 하고 그시간에 담을 수 있는작업들을 배열temp에 담기2. temp 에다가 작업시간이 적게걸리는 순으로 빼내기3. 현재시간에 수행할 수 있는 작업이 없으면 jobs 에서 다시 꺼내서 시간과 answer 계산하기   import heapqdef solution(jobs): n = len(jobs) answer = 0 temp = [] # 현재시간에 수행할수있는 작업 담는 배열 heap.. 2024. 7. 1.
기지국 설치 문제이해N개의 아파트가 있고 stations배열의 아파트에 기지국이 설치되있을때 기지국설치위치의 +W,-W까지 전파가 퍼진다모든아파트가 전파가 퍼지도록 하는 기지국을 세울때 최솟값 기지국 개수1.1번아파트 부터 차례로 검사한다 2. 기지국이 설치된 아파트의 -W의 위치거나 그이상일때 3. 현재 위치를 바꿔주기 location = stations[idx] + W +1 , idx도 하나 증가시키고4. 기지국의 범위가 아니라면 설치했다치고 그설치위치에서 최대의 범위 고려하고 +1 위치로 이동하기   def solution(N,stations,W): answer = 0 # 기지국의 개수 # 1번아파트부터 검사함 현재 아파트위치 location = 1 idx = 0 # 현재기지국을 나타내는 .. 2024. 6. 24.