문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스 코드 def solution(string): answer = 0 standard,others = '','' standard_cnt,others_cnt = 0,0 for idx in range(len(string)): # 기준 문자열이 없으면 첫글자로 설정 if not standard: standard = string[idx] if string[idx] == standard: # ..
분류 전체보기
문제 링크 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 소스 코드 question = input() stack = [] answer = 0 for idx in range(len(question)): if question[idx] == '(': # 열린 괄호는 추가 stack.append('(') else: # 닫는 괄호의 경우 stack.pop() if question[idx-1] == '(': # 레이저인 경우 answer += len(stack) ..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/138477 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스 코드 import heapq def solution(k, score): stage = [] answer = [] for idx in range(len(score)): # 리스트 내 원소를 대소비교하여 추가 heapq.heappush(stage,score[idx]) # 리스트길이가 k 초과 시 최솟값 pop if len(stage) > k: heapq.heappop(stage) #..
문제 링크 https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 소스 코드 from collections import deque n,m,v = map(int,input().split()) graph = [[] for _ in range(n+1)] for i in range(m): # 양방향 간선이므로 둘 다 그래프에 추가 a,b = map(int,input().split()) graph[a].append(b) g..
문제 링크 https://school.programmers.co.kr/learn/courses/30/lessons/136798 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 소스 코드 def solution(number, limit, power): # 범위 주의 numbers = [0 for x in range(number+1)] # 1부터 number까지 포함 for i in range(1,number+1): # 배수 인덱스에 +1 for j in range(i,number//i*i+1,i): numbers[j] += 1 # limit 초과시 power..
문제 링크 https://www.acmicpc.net/problem/1244 1244번: 스위치 켜고 끄기 첫째 줄에는 스위치 개수가 주어진다. 스위치 개수는 100 이하인 양의 정수이다. 둘째 줄에는 각 스위치의 상태가 주어진다. 켜져 있으면 1, 꺼져있으면 0이라고 표시하고 사이에 빈칸이 하나씩 www.acmicpc.net 소스 코드 k = int(input()) switches = list(map(int,input().split())) n = int(input()) for i in range(n): sex,num = map(int,input().split()) # 성별,숫자 입력 if sex == 1: # 남자인 경우 for j in range(num-1,k//num*num,num): # 배수 인덱..