[백준] 2003 수들의 합2 (Python 파이썬)
www.acmicpc.net/problem/2003 2003번: 수들의 합 2 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. www.acmicpc.net 문제 설명 N개의 수열 A[1],A[2], ..., A[N]이 주어졌을 때, 수열의 부분 합이 M이 되는 경우의 수를 구하는 문제입니다. 즉, 중간중간 A[2]+A[3]+A[4] = M이라면 경우의 수가 하나 추가가 되는 문제입니다. 풀이 과정 전형적인 투포인터 문제입니다. 시작점과 끝점을 먼저 시작점에 놓습니다. 주어진 수들은 모두 자연수이기 때문에 현재 구간의 합이 ..
2021. 5. 5.
[프로그래머스] 보석 쇼핑 (Python 파이썬)
programmers.co.kr/learn/courses/30/lessons/67258 코딩테스트 연습 - 보석 쇼핑 ["DIA", "RUBY", "RUBY", "DIA", "DIA", "EMERALD", "SAPPHIRE", "DIA"] [3, 7] programmers.co.kr 문제 설명 위 링크에 나온 설명처럼, 모든 종류의 보석을 적어도 1개 이상 포함하는 가장 짧은 구간을 찾는 문제입니다. 풀이 과정 이 문제는 투 포인터 유형의 문제입니다. 변수로 주어진 보석들의 목록인 gems에는 보석들이 중복되어 포함되어 있습니다. 그래서 보석의 종류만을 구하기 위해 set을 이용해 setlen에 보석의 종류를 넣어줬습니다. start와 end를 처음지점으로 놓고, 최초의 길이는 처음부터 끝까지로 지정합니..
2021. 5. 5.