본문 바로가기

이코테

(5)
[19번] 연산자 끼워 넣기 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net import itertools N = int(input()) nums = list(map(int, input().split())) ops_cnt = list(map(int, input().split())) ops = [] for cnt, op in zip(ops_cnt, ['+', '-', '*', '/']): for _ in range(cn..
[18번] 괄호 변환 https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 구현, 재귀 문제 # 균형잡힌 문자열의 인덱스 def balanced_index(p): cnt = 0 for i in range(len(p)): if p[i] == '(': cnt += 1 else: cnt -= 1 if cnt == 0: return i + 1 # 올바른 문자열 여부 def is_proper(p): cnt = 0 for ch in p: if ch..
[17번] 경쟁적 전염 https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 경쟁적 전염: K초 후 바이러스 전파결과 확인 탐색방향: 상하좌우 탐색조건: MAP == 0 탐색결과: MAP = 1, 2, 3, ... (바이러스 영역으로 변경) 출발점: 바이러스 위치들 알고리즘 선택: S초까지 탐색 => BFS import collections N, K = map(int, input().split()) MAP = [] viruses = [] fo..
[16번] 연구소 https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 연구소: 바이러스 전파 후 안전 영역의 최대 갯수 탐색방향: 상하좌우 탐색조건: MAP == 0 탐색결과: MAP = 2 (바이러스 영역으로 변경) 출발점: 바이러스 위치들 알고리즘 선택: 완전탐색 => BFS, DFS import itertools import collections N, M = map(int, input().split()) MAP = [] viruses = [] emptys = [] for ..
[15번] 특정거리의 도시 찾기 https://www.acmicpc.net/problem/18352 18352번: 특정 거리의 도시 찾기 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다. (2 ≤ N ≤ 300,000, 1 ≤ M ≤ 1,000,000, 1 ≤ K ≤ 300,000, 1 ≤ X ≤ N) 둘째 줄부터 M개의 줄에 걸쳐서 두 개 www.acmicpc.net 특정거리의 도시찾기: 최단거리가 K인 모든 도시 찾기 (BFS) 탐색방향: graph 탐색조건: dist == -1 탐색결과: 0 -> 1 -> 2 -> ... (최단거리 저장) 출발점: S 알고리즘 선택: 최단거리 K 까지 탐색 => BFS import collections import sys input = sys.stdi..