코딩 연습/Python 43

[HackerRank] Between Two Sets

https://www.hackerrank.com/challenges/between-two-sets/problem?isFullScreen=true Between Two Sets | HackerRank Find the number of integers that satisfies certain criteria relative to two sets. www.hackerrank.com 위 문제를 푸는데 난 아래와 같은 솔루션을 만들었다. def getTotalX(a, b): # Write your code here cnt = 0 for i in range(a[-1], b[0]+1): flag = 1 for j in range(len(a)): if i%a[j] != 0: flag = 0 break else: for..

백준_9020: 골드바흐의 추측

https://www.acmicpc.net/problem/9020 9020번: 골드바흐의 추측 1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아 www.acmicpc.net 내 코드: import sys n = int(input()) nums = [] for i in range(n): nums.append(int(sys.stdin.readline())) def isPrime(x): if x == 1: return False for i in range(2, x): if x%i==0: return False return True for target i..

백준_11508: 2+1 세일

https://www.acmicpc.net/problem/11508 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net #https://www.acmicpc.net/problem/11508 n = int(input()) nums = [] for i in range(n): nums.append(int(input())) nums.sort(reverse=True) ans = 0 for i in range(n): if i%3 != 2: ans += nums[i] print(ans) 포인트 최소 비용을 계산하는 ..

백준_11657: 타임머신

https://www.acmicpc.net/problem/11657 11657번: 타임머신 첫째 줄에 도시의 개수 N (1 ≤ N ≤ 500), 버스 노선의 개수 M (1 ≤ M ≤ 6,000)이 주어진다. 둘째 줄부터 M개의 줄에는 버스 노선의 정보 A, B, C (1 ≤ A, B ≤ N, -10,000 ≤ C ≤ 10,000)가 주어진다. www.acmicpc.net 위 문제는 음수 간선이 포함된 최단 거리 문제이다. 음수 간선의 순환이 포함되는 경우, 벨만 포드 최단 경로 알고리즘을 사용할 수 있다. 다익스트라와의 차이점: 다익스트라는 N-1번만큼 반복을 하되, 모든 간선을 다 확인하지 않고 특정 노드에 붙어있는 간선만 확인한다. #https://www.acmicpc.net/problem/11657..

모의고사

https://programmers.co.kr/learn/courses/30/lessons/42840?language=python3 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 첫번째 인자는 내림차순 정렬, 두번째 인자는 오름차순 정렬로 하고싶은 경우: ex) [(3, 1), (1, 2), (2, 3)] 이렇게 저장되었을 때, lambda를 써서 x[0], -x[1]로 한다. +reverse=True result.sort(key=lambda x: (x[0], -x[1]), reverse=True) def ..

가장 큰 수

https://programmers.co.kr/learn/courses/30/lessons/42746?language=python3 코딩테스트 연습 - 가장 큰 수 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 programmers.co.kr 계속 시간 초과가 된 문제. 답을 보았는데 아스키코드를 활용해서 풀면 간단히 구할 수 있었다..!! 숫자를 다 문자열로 바꾼다. int면 6 10이 된다. 왜냐하면 6이 1보다 더 큰 숫자로 인식..