본문 바로가기

Python257

[백준 11659번] 구간 합 구하기 4 11659번: 구간 합 구하기 4첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 jwww.acmicpc.netn,m = map(int,input().split())numbers = list(map(int,input().split()))answers = []dp = [0]*(n+1)for i in range(1,n+1): dp[i] = dp[i-1] + numbers[i-1]for _ in range(m): i, j = map(int,input().split()) answers.append(dp[j]-dp[i-1])for answer in.. 2023. 10. 1.
[백준 23889번] 돌 굴러가유 23889번: 돌 굴러가유 $M$번째 줄에 걸쳐 가장 많은 모래성을 지키기 위해 벽을 설치해야 할 마을의 위치를 오름차순으로 출력한다. 가장 많은 모래성을 지킬 수 있는 경우가 두 가지 이상 존재할 경우, 사전순으로 가 www.acmicpc.net from itertools import combinations n,m,k = map(int,input().split()) # i번째 마을의 모래성의 개수 xi house_count = [0]+list(map(int,input().split())) # 돌이 굴러가기 시작하는 마을의 위치 rock_locations = list(map(int,input().split())) house_status = [True]*(n+1) # 벽의 개수 m개의 줄에 걸쳐 가장 많은.. 2023. 9. 30.
[백준 1986번] 체스 1986번: 체스 첫째 줄에는 체스 판의 크기 n과 m이 주어진다. (1 ≤ n, m ≤ 1000) 그리고 둘째 줄에는 Queen의 개수와 그 개수만큼의 Queen의 위치가 입력된다. 그리고 마찬가지로 셋째 줄에는 Knight의 개수와 위치, www.acmicpc.net n, m = map(int,input().split()) # Knight, Queen, Pawn의 개수는 각각 100을 넘지 않는 음이 아닌 정수 queen_list = list(map(int,input().split())) knight_list = list(map(int,input().split())) pawn_list = list(map(int,input().split())) # Queen은 가로,세로,대각선으로 이동 가능 / 장애물.. 2023. 9. 30.
[Graph] 그래프의 정의 및 Python 구현방법 1) 그래프의 정의 위 그림처럼 도시와 도시 사이를 연결하는 도로나 컴퓨터 네트워크 또는 사람의 인맥 관계처럼 어떤 관계(relationships)를 표현하는 수학 구조를 그래프라고 한다. 도시, 컴퓨터, 사람 등을 노드(node 또는 vertex)라 하고, 이들을 연결하는 도로, 네트워크, 인맥 등을 간선(edges)이라 한다. (많은 자료에서 노드 대신 정점(vertex)이라는 용어를 사용한다.) 그래프는 '노드의 집합'과 '간선의 집합'으로 구성된다. 이것을 수학으로 표현하면 위와 같다. 예를 들어 아래 그림과 같은 그래프를 G=(V,E)라고 하면, V와 E는 위와 같다. 2) 그래프의 종류 그래프의 종류가 매우 많지만, 우리는 간단하게 세 종류만 공부한다. 그리고, 어떤 노드가 다시 자신과 연결되.. 2023. 9. 29.
[프로그래머스 Lv.3] 단어 변환 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import deque def solution(begin, target, words): if target not in words: # words 안에 없다면 0 반환 return 0 def canExchange(arr_a,arr_b): # 바꿀 수 있는 알파벳인지 확인 diff = 0 for i in range(len(arr_a)): if arr_a[i] != arr_b[i]: diff += 1 if diff == 1: return True else: return False de.. 2023. 9. 29.
[프로그래머스 Lv.1] 체육복 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n, lost, reserve): # 2 2023. 9. 29.