www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net [풀이] n이 4가 주어지면 1개짜리와 3개짜리를, 2개짜리 2개를 사서 값을 비교해야한다. 만약 n이 5라면 (1,4),(2,3),(3,2),(4,1)를 확인해야한다. dp에는 (1,1,1,1,1) 같은 경우는 이미 계산이 된 것으로 생각하면 된다. [코드] import sys input = sys.stdin.readline n = int(input()) dp = [0 for i in range(n+1)] arr =..
programmers.co.kr/learn/courses/30/lessons/12906?language=python3 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 연속된 중복을 제거하는 문제입니다. 단순히 중복을 제거하는 문제면 set을 사용하여 금방 해결하겠지만, 연속된 부분을 확인해야하므로 for문을 통해 하나씩 비교하였습니다. 레벨이 1인 문제라서 쉬운 문제였습니다. def solution(arr): answer = [] answer.append(arr[0]) for i i..
www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net [풀이] 숫자가 2부터 n까지 리스트에 들어가기 때문에 따로 리스트에 숫자를 넣지 않아도 됩니다. 대신 False로 리스트를 만들어 이 숫자를 제거 했는지 확인할 수 있게 만들었습니다. 이후 반복문으로 배수를 돌며 False 리스트를 True로 변경해주면 됩니다. 이때 만약 count 가 k가 된다면 답을 출력하면 됩니다. [코드] import sys input = sys.stdin.readline n,k = map(int,input().split()) arr = [False] * (n+1) cou..
www.acmicpc.net/problem/18312 18312번: 시각 정수 N과 K가 입력되었을 때 00시 00분 00초부터 N시 59분 59초까지의 모든 시각 중에서 K가 하나라도 포함되는 모든 시각을 세는 프로그램을 작성하시오. 시각을 셀 때는 디지털 시계를 기준으로, www.acmicpc.net [풀이] 브루트 포스 문제 유형으로 for문을 3번 사용해서 수를 하나씩 확인해주면 됩니다. 근데 이 부분이 백준 질문섹션에도 있었는데 0을 신경 안쓰고 for문으로 수를 확인한다면 23시 5분 5초 일 경우 2355라고 나오기때문에 0의 수가 제대로 나오지 않습니다. 그래서 저는 10보다 작을 경우 0을 붙여주는 식으로 했는데.. 으음.. 코드가 깔끔하지 않은 것 같긴 합니다.. 그래서 다른 사람들 코..
www.acmicpc.net/problem/19532 19532번: 수학은 비대면강의입니다 정수 $a$, $b$, $c$, $d$, $e$, $f$가 공백으로 구분되어 차례대로 주어진다. ($-999 \leq a,b,c,d,e,f \leq 999$) 문제에서 언급한 방정식을 만족하는 $\left(x,y\right)$가 유일하게 존재하고, 이 때 $x$와 $y$가 각각 $- www.acmicpc.net [풀이] 브루트포스 유형의 문제로서 a,b,c,d,e,f 값을 입력 받고 x와 y의 값의 범위가 주어지므로 for문 안에서 하나씩 확인을 하면 되는 문제입니다. [코드] import sys input = sys.stdin.readline a,b,c,d,e,f = map(int,input().split()) ..
www.acmicpc.net/problem/13164 13164번: 행복 유치원 입력의 첫 줄에는 유치원에 있는 원생의 수를 나타내는 자연수 N(1 ≤ N ≤ 300,000)과 나누려고 하는 조의 개수를 나타내는 자연수 K(1 ≤ K ≤ N)가 공백으로 구분되어 주어진다. 다음 줄에는 원생들 www.acmicpc.net [풀이] 리스트에 인접한 두 사람의 키의 차이를 리스트에 저장을 한 후, 정렬을 하였습니다. 이후, N명의 사람을 K조로 나누었으므로 (N-K)까지의 키 차이를 더하면 값을 얻을 수 있다. [코드] import sys input = sys.stdin.readline n,k = map(int,input().split()) arr = list(map(int,input().split())) r..