본문 바로가기
반응형

전체 글87

[백준/파이썬] 10816번: 숫자 카드 2 https://www.acmicpc.net/problem/10816 10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 이진 탐색 라이브러리를 활용하여 문제를 풀이하였음. import sys from bisect import bisect_left, bisect_right n = sys.stdin.readline() a = sorted(list(map(int, sys.stdin.readline().split()))) m = sys.stdin.readline() b = list(map.. 2023. 1. 6.
[백준/파이썬] 1978번: 소수 찾기 https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 소수는 1과 자기 자신으로만 나누어떨어지는 수. n = int(input()) arr = list(map(int, input().split())) result = 0 for i in arr: cnt = 0 for j in range(1, i + 1): if i % j == 0: cnt += 1 if cnt == 2: result += 1 print(result) 1과 자기자신으로만 나누어 떨어지면 cnt 를 1증가하여 2가 될 경우만 소수로 인정하여 result를 .. 2023. 1. 6.
[백준/Python] 1010번: 다리 놓기 https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 조합 라이브러리를 사용하여 풀었더니 시간초과가 발생. from itertools import combinations t = int(input()) for _ in range(t): # bCa 로 조합을 사용한다. b개에서 a개를 뽑는다 a, b = map(int, input().split()) arr = [] for i in range(1, b + 1): arr.append(i) print(len.. 2023. 1. 6.
[백준/Python]1149번 : RGB거리 https://www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net import sys n = int(sys.stdin.readline()) arr = [] for _ in range(n): arr.append(list(map(int, sys.stdin.readline().split()))) for i in range(1, len(arr)): arr[i][0] += min(arr[i - 1][1], arr[i - 1][2]) arr[i][1].. 2023. 1. 5.
[백준/Python] 10026번: 적록색약 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net import copy import sys sys.setrecursionlimit(10**6) n = int(input()) # 2차원 리스트의 맵 정보 입력받기 graph = [] for i in range(n): graph.append(list(sys.stdin.readline())) # copy 라이브러리를 통해 리스트 복사 graph2 = copy.deepcopy(graph) resu.. 2023. 1. 4.
[Python] 이진 탐색 라이브러리 from bisect import bisect_left, bisect_right a = [1, 2, 3, 4, 8] x = 4 # bisect_left(a,x) : 정렬된 순서를 유지하면서 배열 a에 x를 삽입할 가장 왼쪽 인덱스 반환 # bisect_left(a,x) : 정렬된 순서를 유지하면서 배열 a에 x를 삽입할 가장 오른쪽 인덱스 반환 print(bisect_left(a, x)) # 2 출력 print(bisect_right(a, x)) # 4 출력 # 값이 특정 범위에 속하는 데이터 개수 구하기 # 값이 [left_value , right_value]인 데이터의 개수를 반환하는 함수 def count_by_range(a, left_value, right_value): right_index = .. 2023. 1. 2.
반응형