문제
[2,1,1,1,2,2,1,1] 처럼 리스트가 주어졌을 때 1과 2를 최대로 많이 같은 수를 가진 리스트 인덱스를 리턴하라
그러니까 [1,1,2,2]인 3~6까지를 리턴하라는 것이다.
근데 그냥 풀기는 넘 난해하고 2를 -1로 바꿔서 누적합으로 카운팅을 하는 방법과
그냥 dictionary에 초기화를 하면서 1과 2를 세는 방법이 있겠다.
나는 전자로 풀었다.
누적합의 시작점과 끝점을 각각 다른 해쉬에 넣고
for문을 돌려서 누적값이 가장 큰 값의 인덱스 길이를 리턴하면 되겠다.
근데 이렇게하면 시작점이 0이 아니여서 테스트케이스 중 에러가 날 수 있다.
시작점을 0으로 만들어서 누적값이 0부터 시작되게만들어줘야한다.
SQL
Group by - 카테고리 별 도서 판매량 집계하기
위처럼 테이블 간 조인을 사용하고
1월 값만 가져온다.
*년이 다른 데이터는 테스트 케이스에 추가하지 않았나보다.
카테고리 별로 그룹화하고 카테고리를 기준으로 오름차순해서 리턴한다.
'코테공부' 카테고리의 다른 글
프로그래머스 62일차 (0) | 2023.04.27 |
---|---|
프로그래머스 61일차 (0) | 2023.04.25 |
프로그래머스 60일차 - group(1) (0) | 2023.04.18 |
프로그래머스 59일차 - select (4) (0) | 2023.04.17 |
프로그래머스 58일차 - 스택/큐 (2) & select (3) (0) | 2023.04.16 |