본문 바로가기

전체 글

(39)
BOJ (1475) - 방 번호 Python 아이디어 딕셔너리 자료형 사용해서 각 번호와 중복 카운트 수 로 나타냄 6과 9는 바꿔 쓸 수 있으므로 6에 통합 저장 총 6의 갯수가 짝수면 나누기 2 한 갯수 홀수면 나누기 2 + 1 갯수 딕셔너리 값 중에서 제일 큰 값을 가지는 원소를 출력 소스코드 # https://www.acmicpc.net/problem/1475 n = input() set = {'0':0, '1':0, '2':0, '3':0, '4':0, '5':0, '6':0, '7':0, '8':0, '9':0} for i in range(len(n)): if n[i] in ['6','9']: set['6'] += 1 else: set[n[i]] += 1 if set['6'] % 2 == 0: set['6'] = set['6'] // 2..
BOJ (2941) - 크로아티아 알파벳 Python 아이디어 크로아티아 알파벳 목록 리스트를 alpha 에 저장한다. alpha 값이 입력받은 값 안에 있으면 해당 입력받은 값 안의 알파 값의 크기를 1로 잡는다. 변경된 입력받은 값의 크기를 출력한다. string = d d z = z = string = d d z = z = string = d z = string = d string 의 크기 = 3 소스코드 # https://www.acmicpc.net/problem/2941 alpha = ['c=','c-','dz=','d-','lj','nj','s=','z='] string = input() count = 0 for i in alpha: if i in string: string = string.replace(i," ") print(string) pr..
BOJ (1449) - 수리공 항승 Python 아이디어 시작점 = st 와 loc의 현재 값 = now 놓는다. 처음 : 현재 값 now 이므로 now +L -1 만큼은 수리가 가능하다. 따라서 현재 값을 now +L -1 로 바꾼다. cnt+1 이후: 만약 현재값이 시작점보다 크거나 같다면 새로운 테이프의 범위이므로 현재값을 now +L -1로 다시 바꿔준다. cnt +1 반복 소스코드 # https://www.acmicpc.net/problem/1449 N, L = map(int,input().split()) loc = list(map(int,input().split())) st = 0 cnt = 0 for now in loc: if st < now: st = now+L-1 cnt+=1 print(cnt)
BOJ (13417) - 카드 문자열 Python 아이디어 cards 리스트에서 제일 첫번째 카드를 기준 카드로 설정 기준 카드보다 ASCII 번호 작다면 왼쪽, 크다면 오른쪽 삽입 소스코드1 # https://www.acmicpc.net/problem/13417 T = int(input()) for _ in range(T): N = int(input()) cards = list(map(str, input().split())) my = [cards[0]] for i in range(1,N): if ord(cards[i])
BOJ (2217) - 로프 Python 아이디어 rope 리스트 큰 수 부터 정렬 rope 리스트 값과 갯수만큼 다 곱한 결과가 제일 큰 값을 출력 10 17 13 8 20 21 11 1. 적용 21 20 17 13 11 10 8 2. 적용 21 40 51 52 55 60(max) 56 출력 : 60 소스코드 #https://www.acmicpc.net/problem/2217 import sys input = sys.stdin.readline N = int(input()) rope = [] for _ in range(N): rope.append(int(input())) rope.sort(reverse = True) for i in range(N): rope[i] = rope[i]*(i+1) print(max(rope))
BOJ (2827) - 우리집엔 도서관이 있어 Python 아이디어 모든책을 현재 순서대로 bks 리스트에 입력받음 bks 리스트에서 제일 큰 수 찾음 = _max _max의 위치를 기준으로 up과 down으로 리스트를 나눔 up에 있는지 확인, 만약 있으면 _max의 위치를 기준으로 다음 큰 수가 up 에 없으면 down에서 찾고 count 반복 3(up) 9(up) 7(up) 10(기준) 6(down) 4(down) 5(down) 1(down) 2(down) 8(down) 소스코드1 #https://www.acmicpc.net/problem/2872 #input import sys N = int(sys.stdin.readline()) bks = [] _max = 0 cnt = 0 for _ in range(N): item = int(sys.stdin.read..
Two-stage game framework for energy management in islanded multi-microgrid system 본 논문은 고립 된 다중 마이크로 그리드 시스템(Multi-microgrid system)에서 에너지 관리를 위한 2단계 게임 프레임워크를 제안한다. 문제 상황: 다중 마이크로 그리드 시스템에서의 에너지 관리 방법 제안 기법: 2단계 게임 프레임 워크 1. 고립 된 다중 마이크로 그리드 시스템(Multi-microgrid system)? 각 그리드에서 태양광 에너지(PV) 생산을 통해 잉여자원 혹은 부족자원 생성. PV는 불확실해서 태양의 양에 따라 환경에 따라 얼마나 발생할지 예측하기 힘들다. 그러므로 그때 그때 얻어지는 에너지의 양이 달라진다. 발생한 잉여의 PV는 에너지 보관함에 저장 후 부족한 다른 그리드에 팔 수 있지만 못 팔시에는 없어진다. 또한 PV의 가격은 화력에너지(DE) 생산 가격보다 ..