분류 전체보기 219

[Baekjoon/Python] 11866번: 요세푸스 문제 0 - 효과는 굉장했다!

11866번: 요세푸스 문제 0 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 알고리즘 분류 구현 자료 구조 큐 SOLUTION from collections import deque import sys N, K = map(int, sys.stdin.readline().split()) josephus = deque([i for i in range(1,N+1)]) # deque로 선언 rotate() 함수를 쓰기 위해 answer = ['') break answer = ''.join(answer) print(answer)

[Softeer/Python] 장애물 인식 프로그램 ★★☆☆☆ - 효과는 굉장했다!

Softeer 제한시간 : C/C++(1초), Java/Python/JS(2초) | 메모리 제한 : 128MB 입력형식 입력 값의 첫 번째 줄에는 지도의 크기 N(정사각형임으로 가로와 세로의 크기는 같으며 5≤N≤25)이 입력되고, 그 다음 N줄에는 softeer.ai SOLUTION import sys from collections import deque def bfs(x,y): global cnt dx = [-1,1,0,0] # x축 방향 설정 dy = [0,0,-1,1] # y축 방향 설정 queue = deque([[x,y]]) # 처음 시작점 while queue: x, y = queue.popleft() for i in range(4): # 상하좌우 탐색 nx = x + dx[i] ny = y..

[Softeer/Python] 8단 변속기 ★★☆☆☆ - 효과는 굉장했다!

Softeer 제한시간 : C/C++(1초), Java/Python/JS(2초) | 메모리 제한 : 128MB 현대자동차에서는 부드럽고 빠른 변속이 가능한 8단 습식 DCT 변속기를 개발하여 N라인 고성능차에 적용하였다. 관련하여 SW 엔지니어인 softeer.ai SOLUTION import sys number_list = list(map(int, sys.stdin.readline().split())) # 숫자를 리스트화 시켜서 비교하기 쉽게 만듬 if number_list == [1,2,3,4,5,6,7,8]: # 1부터 오름차순이면 print("ascending") elif number_list == [8,7,6,5,4,3,2,1]: # 8부터 내림차순이면 print("descending") els..

[Softeer/Python] 지도 자동 구축 ★★☆☆☆ - 효과는 굉장했다!

Softeer 제한시간 : C/C++(1초), Java/Python/JS(2초) | 메모리 제한 : 128MB 현대자동차그룹이 레벨3 자율주행차 상용화 목표에 발맞춰 총력을 다하고 있는 가운데, 국내 최고 수준의 지도 구축 기술력을 보유한 softeer.ai SOLUTION import sys N = int(sys.stdin.readline()) dp = [0] * 16 # N의 최댓값은 15이기 때문에 0단계 ~ 15단계 총 16개 칸 생성 dp[0] = 2 # Start 지점의 한변의 점의 개수 = 2 # N번째 단계의 한 변의 점의 개수는 (N-1번째 점의 개수 + N-1번째 점의 개수-1) 과 같다 for i in range(1,N+1): dp[i] = dp[i-1] + (dp[i-1] -1) #..

[Baekjoon/Python] 10866번: 덱 - 효과는 굉장했다!

10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 알고리즘 분류 자료 구조 덱 SOLUTION from collections import deque import sys N = int(sys.stdin.readline()) deque_list = deque([]) for _ in range(N): cmd = sys.stdin.readline().split() order = cmd[0] # 명령어 if order == "push_front": deque_list.appendleft(cmd[1]) # ..

[Baekjoon/Python] 10845번: 큐 - 효과는 굉장했다!

10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 알고리즘 분류 자료 구조 큐 SOLUTION import sys N = int(sys.stdin.readline()) queue_list = [] for _ in range(N): cmd = sys.stdin.readline().split() order = cmd[0] if order == "push": queue_list.append(cmd[1]) elif order == "pop": if queue_list == []: print(-1) els..

[Baekjoon/Python] 10828번: 스택 - 효과는 굉장했다!

10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 알고리즘 분류 자료 구조 스택 SOLUTION import sys N = int(sys.stdin.readline()) stack = [] for _ in range(N): cmd = sys.stdin.readline().split() order = cmd[0] # 명령어 if order == 'push': stack.append(cmd[1]) if order == 'pop': # 스택에서 가장 위에 있는 수 제거 후 출력 if stack == ..

[Baekjoon/Python] 10816번: 숫자 카드 2 - 효과는 굉장했다!

10816번: 숫자 카드 2 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 알고리즘 분류 자료 구조 정렬 이분 탐색 해시를 사용한 집합과 맵 SOLUTION 해시를 이용한 풀이 import sys N = int(sys.stdin.readline()) card = list(map(int, sys.stdin.readline().split())) M = int(sys.stdin.readline()) card_cnt = list(map(int, sys.stdin.readline().split())) hashma..

[Baekjoon/Python] 10773번: 제로 - 효과는 굉장했다!

10773번: 제로 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경 www.acmicpc.net 알고리즘 분류 구현 자료 구조 스택 SOLUTION import sys K = int(sys.stdin.readline()) zero_list = [] for _ in range(K): num = int(input()) if num == 0: # 0이 입력으로 돌아올 때 마다 pop() 함수를 이용해 가장 최근에 들어온 수 제거 zero_list.pop() else: zero_list.append(num) print(sum(zer..

[Baekjoon/Python] 9012번: 괄호 - 효과는 굉장했다!

9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 알고리즘 분류 자료 구조 문자열 스택 SOLUTION import sys T = int(sys.stdin.readline()) for _ in range(T): case = sys.stdin.readline() sum = 0 for i in case: if i == '(': sum += 1 elif i == ')': sum += -1 if sum < 0: # ')' 가 '(' 갯수보다 많이 나오면 더 이상 VPS가 아니기 때문에 N..