코딩테스트

문제 3029번: 경고 첫째 줄에 현재 시간이 hh:mm:ss 형식으로 주어진다. (시, 분, 초) hh는 0보다 크거나 같고, 23보다 작거나 같으며, 분과 초는 0보다 크거나 같고, 59보다 작거나 같다. 둘째 줄에는 나트륨을 던질 시간 www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline current=input() throw=input() if(current==throw): print("24:00:00") else: current=int(current[0:2])*3600+int(current[3:5])*60+int(current[6:8]) throw=int(throw[0:2])*3600+int(throw[3:5])*60+int(thro..
문제 18511번: 큰 수 구성하기 첫째 줄에 N, K의 원소의 개수가 공백을 기준으로 구분되어 자연수로 주어진다. (10 ≤ N ≤ 100,000,000, 1 ≤ K의 원소의 개수 ≤ 3) 둘째 줄에 K의 원소들이 공백을 기준으로 구분되어 주어진다. 각 www.acmicpc.net 코드 My answer import sys from itertools import permutations input=sys.stdin.readline n,k=map(int,input().split()) num=list(input().split())*len(str(n)) k=len(str(n)) result=[] for i in range(1,k+1): for j in permutations(num,i): tmp=int(''...
문제 5568번: 카드 놓기 예제 1의 경우 상근이는 11, 12, 21, 112, 121, 122, 212를 만들 수 있다. www.acmicpc.net 코드 My answer import sys from itertools import permutations input=sys.stdin.readline n=int(input()) k=int(input()) card,result,tmp=[],set(),"" for i in range(n): card.append(int(input())) for i in permutations(card,k): for j in i: tmp+=str(j) result.add(int(tmp)) tmp="" print(len(result)) Another answer from it..
[Python] 백준 #1912- 연속합 문제 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net changsroad.tistory.com 재풀이하여 올렸습니다.~ 문제 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 코드 My answer(시간초과) import sys input=sys.stdin.readline n=int(input()..
오늘은 투포인터 알고리즘을 알아볼 것이다. 투포인터 알고리즘은 두개의 포인터(인덱스)를 설정해놓고 위치를 기록하면서 처리하는 알고리즘이다. 이 알고리즘은 문제로 설명하는게 더 빠를 것 같아서 문제로 설명을 해보도록 하겠다. 백준의 수들의 합문제이다. 1. 우선 시작점(left)과 끝점(right)을 배열의 첫번째를 가리키도록 한다. 2. 구간의 부분합이 목표값(m)과 같다면 저장한다. 3. 현재 부분합이 m보다 작다면 구간을 늘려야 하므로 끝점(right)을 +1 한다. 4. 현재 부분합이 m보다 크거나 같다면 구간을 줄여야 하므로 시작점(left)를 +1 한다. 이렇게 모든 경우를 확인하면 목표값과 같은 경우들이 저장되어있을거고 그중 가작 작은 구간을 포함하면된다. 내가 얼마전 푼 백준의 부분합 문제는..
문제 2407번: 조합 n과 m이 주어진다. (5 ≤ n ≤ 100, 5 ≤ m ≤ 100, m ≤ n) www.acmicpc.net 코드 My answer import sys input=sys.stdin.readline n,m=map(int,input().split()) a,b=1,1 if(n-m>m):m=n-m for i in range(m): a*=n n-=1 for i in range(m): b*=m m-=1 print(a//b) import sys input=sys.stdin.readline n,m=map(int,input().split()) dp=[] for i in range(n+1): dp.append([0 for j in range(i+1)]) dp[1][0],dp[1][1]=1,1 fo..
창빵맨
'코딩테스트' 카테고리의 글 목록 (18 Page)