코딩테스트

    정렬_심화25) 실패율 _ python

    문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(N, stages): stages.sort() result = {} for i in range(N): result[i+1] = 0 for i in stages: try: result[i] += 1 except: break downNum = len(stages) print(result) for i in range(N): nextNum = result[i+1] i..

    정렬_심화24) 안테나 _ python

    문제링크 https://www.acmicpc.net/problem/18310 18310번: 안테나 첫째 줄에 집의 수 N이 자연수로 주어진다. (1≤N≤200,000) 둘째 줄에 N채의 집에 위치가 공백을 기준으로 구분되어 1이상 100,000이하의 자연수로 주어진다. www.acmicpc.net 코드 # 안테나 n = int(input()) homeList = list(map(int, input().split())) homeList.sort() idx = (homeList[(n-1)//2]) print(idx)

    4주차 - 정렬

    정렬 알고리즘이란? 데이터를 특정한 기준에 따라 순서대로 나열 컴퓨터 분야에서 중요시되는 문제 중 하나 탐색에 용이 프로그래밍과 알고리즘 이해에 많은 도움이 정렬 알고리즘 종류 1. 선택 정렬 가장 기초적인 알고리즘 전체 범위에서 차례대로 가장 작은 숫자를 탐색하고 가장 왼쪽부터 차례대로 교환하는 방식 전체 범위를 돌며 작은 숫자를 선택하여 정렬하는 것이므로 선택정렬이라고 함. 가장 왼쪽부터 작은수대로 정렬 코드 for i in range(len(array)): min_index = i for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index= j #스와프 코드 array[i], array[min_index] = array[mi..

    BFS&DFS_심화21) 인구이동 _ python

    문제링크 https://www.acmicpc.net/problem/16234 16234번: 인구 이동 N×N크기의 땅이 있고, 땅은 1×1개의 칸으로 나누어져 있다. 각각의 땅에는 나라가 하나씩 존재하며, r행 c열에 있는 나라에는 A[r][c]명이 살고 있다. 인접한 나라 사이에는 국경선이 존재한다. 모 www.acmicpc.net 코드 # 인구이동 - bfs from collections import deque n, l , r = map(int, input().split()) graph = [] for _ in range(n): graph.append(list(map(int, input().split()))) dx = [0, 0, 1, -1] dy = [1, -1, 0, 0] def bfs(x, y)..

    BFS&DFS_심화20) 감시 피하기 _ python

    문제링크 https://www.acmicpc.net/problem/18428 18428번: 감시 피하기 NxN 크기의 복도가 있다. 복도는 1x1 크기의 칸으로 나누어지며, 특정한 위치에는 선생님, 학생, 혹은 장애물이 위치할 수 있다. 현재 몇 명의 학생들은 수업시간에 몰래 복도로 빠져나왔는데, 복 www.acmicpc.net 코드 # 감시 피하기 from itertools import combinations from collections import deque import copy n = int(input()) maps = [] for i in range(n): maps.append(list(input().split())) # 선생님, 학생, 빈칸 좌표 저장 tch = [] empty = [] for..

    BFS&DFS_심화19) 연산자 끼워 넣기 _ python

    문제링크 https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, 곱 www.acmicpc.net 코드 import sys input = sys.stdin.readline n = int(input()) num = list(map(int, input().split())) op = list(map(int, input().split())) maximum = -1e9 minimum = 1e9 def dfs(depth, total, p..