전체 글 81

시간 복잡도

[Do it! 알고리즘 코딩 테스트] 최근에 백준 문제 푸는거에 재미를 붙였다. 지금 실버1인데 올해 안에 골드 1이 되겠다는 목표로 열심히 풀어보고자 한다. 지금 실력으로는 문제를 보면서 어떤 알고리즘을 써야 하는지 바로 떠올리기가 힘들다. 그래서 알고리즘 공부를 찬찬히 하면서 실력을 기르려고 한다. 이 책을 2주 안에 끝낼 것이다! 시간 복잡도 어떤 알고리즘을 써서 문제를 풀어야 할지를 결정하는데 시간 복잡도가 중요하다. 일반적으로 파이썬은 1초에 2000만~1억 번 연산을 한다. 최악의 경우를 따져봐야 하기 때문에 파이썬이 1초에 2000만 번 연산을 한다고 생각하고 계산하자. 예를 들어 수를 정렬하는 문제가 있다. 시간 제한은 2초이고, 수의 개수 N(1

코딩 테스트 2023.11.17

[백준 2164번 카드2] deque 사용하기

https://www.acmicpc.net/problem/2164 2164번: 카드2 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net list 사용해서 몇 번이나 풀었는데도 시간초과로 실패했다. import deque를 사용했더니 단번에 풀렸다. from collections import deque n = int(input()) queue = deque([i for i in range(1, n+1)]) while len(queue) != 1: queue.popleft() if len(queue) == 1: break queue...

코딩 테스트 2023.10.31

[컴퓨터비전] 중간고사 범위 정리

문제 예상해본건데 여기서 꽤 많이 나왔다! -3차->2차 u,v구하는 공식 -히스토그램 평활화 -마스크: 박스,샤프닝,수평에지,수직에지,소벨,로버츠(얘가 나올줄은 몰랐다..) -기하연산 -이진모폴로지: 팽창,침식,열기 (요소 달랐음) -소벨마스크 이용한 에지 검출 -모라벡 알고리즘 -허프변환 수도코드 -해리스코너 그림?그래프?에서 corner, edge, flat 영역 찾기

전공 2023.10.21

[이코테] DFS/BFS 문제 : Q 15. 특정 거리의 도시 찾기

문제 어떤 나라에는 1번부터 N번까지의 도시와 M개의 단방향 도로가 존재한다. 모든 도로의 거리는 1이다. 이 때 특정한 도시 X로부터 출발하여 도달할 수 있는 모든 도시 중에서, 최단 거리가 정확히 K인 모든 도시들의 번호를 출력하는 프로그램을 작성하시오. 또한 출발 도시 X에서 출발 도시 X로 가는 최단 거리는 항상 0이라고 가정한다. 예를 들어 N=4, K=2, X=1일 때 다음과 같이 그래프가 구성되어 있다고 가정하자. 이 때 1번 도시에서 출발하여 도달할 수 있는 도시 중에서, 최단 거리가 2인 도시는 4번 도시 뿐이다. 2번과 3번 도시의 경우, 최단 거리가 1이기 때문에 출력하지 않는다. 입력 조건 첫째 줄에 도시의 개수 N, 도로의 개수 M, 거리 정보 K, 출발 도시의 번호 X가 주어진다..

코딩 테스트 2023.08.11

[이코테] DFS/BFS 문제 : 미로 탈출

문제 동빈이는 N x M 크기의 직사각형 형태의 미로에 갇혀 있다. 미로에는 여러 마리의 괴물이 있어 이를 피해 탈출해야 한다. 동빈이의 위치는 (1, 1)이고 미로의 출구는 (N, M)의 위치에 존재하며 한 번에 한 칸씩 이동할 수 있다. 이때 괴물이 있는 부분은 0으로, 괴물이 없는 부분은 1로 표시되어 있다. 미로는 반드시 탈출할 수 있는 형태로 제시된다. 이때 동빈이가 탈출하기 위해 움직여야 하는 최소 칸의 개수를 구하시오. 칸을 셀 때는 시작 칸과 마지막 칸을 모두 포함해서 계산한다. 입력 조건 첫째 줄에 두 정수 N, M (4 = m: continue # 벽인 경우 무시 if graph[nx][ny] == 0: continue # 해당 노드를 처음 방문하는 경우에만 최단 거리 기록 if gra..

코딩 테스트 2023.08.10

[이코테] DFS/BFS 문제 : 음료수 얼려 먹기

문제 N x M 크기의 얼음 틀이 있다. 구멍이 뚫려 있는 부분은 0, 칸막이가 존재하는 부분은 1로 표시된다. 구멍이 뚫려 있는 부분끼리 상, 하, 좌, 우로 붙어 있는 경우 서로 연결되어 있는 것으로 간주한다. 이때 얼음 틀의 모양이 주어졌을 때 생성되는 총 아이스크림의 개수를 구하는 프로그램을 작성하시오. 다음의 4 x 5 얼음 틀 예시에서는 아이스크림이 총 3개 생성된다. 00110 00011 11111 00000 0 0 1 1 0 0 0 0 1 1 1 1 1 1 1 0 0 0 0 0 입력 조건 첫 번째 줄에 얼음 틀의 세로 길이 N과 가로 길이 M이 주어진다. (1

코딩 테스트 2023.08.10

[이코테] DFS/BFS

1 꼭 필요한 자료구조 기초 탐색 Search : 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정 자료구조 Data Structure : 데이터를 표현하고 관리하고 처리하기 위한 구조 자료구조에는 스택, 큐가 있다. 스택과 큐는 삽입, 삭제의 함수로 구성된다. 삽입(Push) : 데이터를 삽입한다. 삭제(Pop) : 데이터를 삭제한다. 스택(Stack) 아래에서 위로 차곡차곡 쌓는 자료구조이다. 위에서부터 꺼내기 때문에 선입후출(First In Last Out)구조 또는 후입선출(Last In First Out) 구조라고 한다. 파이썬에서는 리스트와 append(), pop() 메서드를 이용해서 스택 자료구조를 만들 수 있다. stack = [] # 삽입(5) - 삽입(2) - 삽입(3) - 삽입(7..

코딩 테스트 2023.08.10

[이코테] 구현 문제 : Q 14. 외벽 점검

문제 레스토랑을 운영하고 있는 "스카피"는 레스토랑 내부가 너무 낡아 친구들과 함께 직접 리모델링 하기로 했습니다. 레스토랑이 있는 곳은 스노우타운으로 매우 추운 지역이어서 내부 공사를 하는 도중에 주기적으로 외벽의 상태를 점검해야 할 필요가 있습니다. 레스토랑의 구조는 완전히 동그란 모양이고 외벽의 총 둘레는 n미터이며, 외벽의 몇몇 지점은 추위가 심할 경우 손상될 수도 있는 취약한 지점들이 있습니다. 따라서 내부 공사 도중에도 외벽의 취약 지점들이 손상되지 않았는 지, 주기적으로 친구들을 보내서 점검을 하기로 했습니다. 다만, 빠른 공사 진행을 위해 점검 시간을 1시간으로 제한했습니다. 친구들이 1시간 동안 이동할 수 있는 거리는 제각각이기 때문에, 최소한의 친구들을 투입해 취약 지점을 점검하고 나머..

코딩 테스트 2023.08.09