일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 정보처리기사 실기
- 프로그래밍
- python
- 코딩
- 백준 그래프 탐색 파이썬
- 2022년 정보처리기사 실기 가답안
- 그리디
- 2022년 정보처리기사 실기
- 백준 백트랙킹 파이썬
- 백준 N-Queens
- BFS
- BOJ
- 백준 토마토 파이썬
- 정보처리기사
- 알고리즘
- 2022년 정보처리기사 실기 1회 가답안
- 토마토
- 백준 백트랙킹
- 파이썬
- 백준 그래프 이론 파이썬
- 자바
- 프로그래머스 파이썬
- it
- 정보처리기사 실기 시험
- 코딩테스트
- 백준
- 자료구조
- 프로그래머스
- dfs
- 코드
- Today
- Total
목록전체 글 (60)
코딩,안되면 될때까지
: 이진탐색을 쉽게 구현할수 있도록 bisect 라이브러리 제공 bisect_left(a,x) : 정렬된 리스트 a에서 x가 들어갈 가장 왼쪽 인덱스 반환 bisect_right(a,x) : 정렬된 리스트 a에서 x가 들어갈 가장 오른쪽 인덱스 반환 from bisect import bisect_left,bisect_right #값이 [left_value,right_value]인 데이터의 개수를 반환하는 함수 def count_by_range(a,left_value,right_value): right_index = bisect_right(a,right_value) left_index = bosect_left(a,left_value) return right_index - left_index #정렬된 리스트..
https://www.acmicpc.net/problem/1715 1715번: 카드 정렬하기 정렬된 두 묶음의 숫자 카드가 있다고 하자. 각 묶음의 카드의 수를 A, B라 하면 보통 두 묶음을 합쳐서 하나로 만드는 데에는 A+B 번의 비교를 해야 한다. 이를테면, 20장의 숫자 카드 묶음과 30장 www.acmicpc.net 힙큐( heapq)를 사용하면 쉽게 풀수 있는 문제다. 비교횟수를 최소로 하기 위해선 가장 작은 크기의 카드 묶음부터 비교해 나가야 한다.힙큐를 사용하면 우선순위 큐 기능을 구현할 수 있기 때문에 손쉽게 작은 묶음부터 비교해 나갈수 있다.(※참고 : https://hae-sooo97.tistory.com/22?category=925334) -파이썬- #입력받은 카드 묶음을 순서대로 ..
heapq : heapq.heappush() : 힙에 원소를 삽입 heapq.heappop() : 힙에서 원소를 추출 우선순위 큐를 구현하고자 할때 사용 (우선순위 큐 : 들어온 순서에 상관없이 원소에 우선순위를 부여해 그 우선순위가 높은 순서대로 원소를 추출하는 큐) -파이썬- import heapq def heapsort(iterable): h=[] result = [] #모든 원소를 차례대로 힙에 삽입 for value in iterable: heapq.heappush(h,value) #최대힙 구현->-value #힙에 삽입된 모든 원소를 차례대로 꺼내어 담기 for i in range(len(h)): result.append(heapq.heappop(h)) #최대힙->-heapq.heappop(h..
https://programmers.co.kr/learn/courses/30/lessons/42891 코딩테스트 연습 - 무지의 먹방 라이브 programmers.co.kr -파이썬- import heapq def solution(food_times, k): if sum(food_times)
https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr -파이썬- def solution(name): change = [min((ord(i)-ord('A')),(ord('Z')-ord(i))+1) for i in name] idx,answer = 0,0 while True: answer+=change[idx] change[idx] = 0 if sum(change) == 0: break left,r..
https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수들이 있습니다. 이 정수들을 순서를 바꾸지 않고 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 programmers.co.kr -파이썬- from collections import deque def solution(numbers, target): answer = 0 q = deque() q.append([numbers[0],0]) q.append([-1*numbers[0],0]) n = len(numbers) while q: temp,index = q.poplef..
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net -파이썬- from itertools import product n = int(input()) number = list(map(int,input().split())) add,sub,mul,div = map(int,input().split()) #최솟값과 최댓값 초기화 min_value = 1e9 max_value = -1e9 #깊이 우선 탐색..
https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net -파이썬- from itertools import combinations n = int(input()) # 복도의 크기 board = [] # 복도 정보 (N x N) teachers = [] # 모든 선생님 위치 정보 spaces = [] # 모든 빈 공간 위치 정보 for i in range(n): board.append(list(input().split())) for j in ran..