[프로그래머스 알고리즘 고득점 Kit][정렬][Java] H-Index
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42747 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 같은 변수 h를 여러 곳에 사용하니까 문제를 이해하기 쉽지 않았다.내림차순해서 하나씩 보면6 5 3 1 01번째 논문을 보자 6번 이상 인용된 논문의 수는 1이다. -> h번이상 인용된 논문의 수는 h이상 이라는 문장을 만족하는 h는 1이다.2번째 논문을 보자 5번 이상 인용된 논문의 수는 2이다.-> h번이상 인용된 논문의 수는 h이상 이라는 문장을 만족하는 h는 2이다.3번째 논문을 보자 3번 이상 인용된 논문의 수는 3이다.-> h번이상 인용된 논..
[프로그래머스 알고리즘 고득점 Kit][스택/큐][Java] 올바른 괄호
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/12909 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 닫힌 괄호가 들어왔을 때 stack 안에 열린 괄호가 있으면 열린 괄호를 꺼낸다. () 짝을 맞춰 소멸.-> 비어있을 때 닫힌 괄호? X스택을 쓰는 이유는 닫힌 괄호는 가장 나중에 열린 괄호와 짝이 맞아야한다.( -> (( -> (() -> (그래서 위로 쌓이는 자료구조를 선택한다. import java.util.*;class Solution { boolean solution(String s) { int len = s.length()..
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming)][Java] 도둑질
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr이 문제에서 가장 중요한 것은 원형이기 때문에첫 번째 집을 선택했냐 안 했냐입니다.첫 번째 집을 선택하면 마지막 집을 선택하지 못합니다. 그렇기 첫번째 집을 선택했다는 "상태"를 마지막까지 기억해야 합니다.그래서 dp 배열을 2개로 분리하여 선택한 dp, 선택하지 않은 dp를 분리하여 진행합니다.그러면 각 dp도 이전에 선택했는지 안 했는지 알아야 하기 때문에 [i][0], [i][1] 이런 식으로 i번째 선택, i번째 선택 x로 다음 집을 선택할 수 있..
[프로그래머스 알고리즘 고득점 Kit][동적계획법(Dynamic Programming)][Java] 사칙연산
·
알고리즘 & 자료구조/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/1843 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 틀린코드작은 영역부터 잘라서 왼쪽의 최대 최소, 오른쪽 최대 최소를 이용해 특정 영역의 최댓값을 구한다.간격이 가장 작은 2부터 0~0 최대 최소 0~2 최대 최소 2~4 ...를 찾아가고간격이 커지면서 0~4 4~8 .. 이렇게 범위를 늘려간다.그렇게 되면 N^3의 시간복잡도가 나오는데 시간초과가 떴다.복잡도를 줄이는 건 도저히 모르겠어서 의심되는 곳을 바꿔보기로 했다.class Solution { public int solution(St..
[프로그래머스][MySQL] 최댓값 구하기
·
카테고리 없음
https://school.programmers.co.kr/learn/courses/30/lessons/59415 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr SELECT MAX(DATETIME) AS 시간FROM ANIMAL_INS다른 데이터말고 시간만 필요해서 아래의 코드는 굳이.SELECT DATETIME AS 시간FROM ANIMAL_INSORDER BY DATETIME DESCLIMIT 1
[프로그래머스][MySQL] 한 해에 잡은 물고기 수 구하기
·
데이터베이스/문제 풀이
https://school.programmers.co.kr/learn/courses/30/lessons/298516 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.krSELECT COUNT(*) AS FISH_COUNTFROM FISH_INFOWHERE TIME >= '2021-01-01' AND TIME 범위조건을 쓰거나 년도만 비교하거나SELECT COUNT(*) AS FISH_COUNTFROM FISH_INFOWHERE YEAR(TIME) = '2021'