분류 전체보기
[백준] 11659번 구간 합 구하기 4(feat. 누적 합)
[백준] 11659번 구간 합 구하기 4(feat. 누적 합)
2023.01.13https://www.acmicpc.net/problem/11659 문제 접근 첫 번째 단계 문제의 조건을 정리하면 아래와 같다. N개의 수가 주어졌을 때, i번째 수부터 j번쨰 수까지의 합을 구하는 프로그램을 작성해야한다. 1
[백준] 11660번 구간 합 구하기 5(feat. 누적 합, 다이나믹 프로그래밍)
[백준] 11660번 구간 합 구하기 5(feat. 누적 합, 다이나믹 프로그래밍)
2023.01.12https://www.acmicpc.net/problem/11660 문제 접근 첫 번째 단계 문제의 조건을 정리하면 아래와 같다. N*N개의 수가 N*N 크기의 표에 채워져 있고, (x1, y1) 부터 (x2, y2) 까지 합을 구하는 프로그램을 작성해야 한다. (x, y)는 x행 y열을 의미한다. 그리고 입력 조건을 보면, 합을 구해야 하는 연산의 횟수가 M의 범위가 (1
[이코테] Chapter9-3 / 전보(다익스트라 알고리즘)
[이코테] Chapter9-3 / 전보(다익스트라 알고리즘)
2023.01.05전보 어떤 나라에는 N개의 도시가 있다. 그리고 각 도시는 보내고자 하는 메시지가 있는 경우, 다른 도시로 전보를 보내서 다른 도시로 해당 메시지를 전송할 수 있다. 하지만 X라는 도시에서 Y라는 도시로 전보를 보내고자 한다면, 도시 X에서 Y로 향하는 통로가 설치되어 있어야 한다. 예를 들어서 X에서 Y로 향하는 통로는 있지만, Y에서 X로 향하는 통로가 없다면 Y는 X로 메시지를 보낼 수 없다. 또한 통로를 거쳐 메시지를 보낼 때는 일정시간이 소요된다. 어느 날 C라는 도시에서 위급 상황이 발생했다. 그래서 최대한 많은 도시로 메시지를 보내고자 한다. 메시지는 도시 C에서 출발하여 각 도시 사이에 설치된 통로를 거쳐, 최대한 많이 퍼져나갈 것이다. 각 도시의 번호와 통로가 설치되어 있는 정보가 주어졌..
[이코테] Chapter9-2 / 미래 도시(플로이드 워셜 알고리즘)
[이코테] Chapter9-2 / 미래 도시(플로이드 워셜 알고리즘)
2023.01.04미래 도시 방문 판매원 A는 많은 회사가 모여 있는 공중 미래 도시에 있다. 공중 미래 도시에는 1번부터 N번 까지의 회사가 있는데 특정 회사끼리는 서로 도로를 통해 연결되어 있다. 방문 판매원 A는 현재 1번 회사에 위치해 있으며, X번 회사에 방문해 물건을 판매하고자 한다. 공중 미래 도시에서 특정 회사에 도착하기 위한 방법은 회사끼리 연결되어 있는 도로를 이용하는 방법이 유일하다. 또한 연결된 2개의 회사는 양방향으로 이동할 수 있다. 공중 미래 도시에서의 도로는 마하의 속도로 사람을 이동시켜 주기 때문에 특정 회사와 다른 회사가 도로로 연결되어 있다면, 정확히 1만큼의 시간으로 이동할 수 있다. 또한 오늘 방문 판매원 A는 기대하던 소개팅에도 참석하고자 한다. 소개팅의 상대는 K번 회사에 존재한다..
[백준] 1904번 01타일(feat. 다이나믹 프로그래밍, 메모리 제한)
[백준] 1904번 01타일(feat. 다이나믹 프로그래밍, 메모리 제한)
2023.01.03https://www.acmicpc.net/problem/1904 문제 접근 첫번째 단계 문제의 조건을 정리하면 아래와 같다. 0과 1 타일이 있는데, 0타일은 00 이런식으로 두개씩 사용가능하다. 1타일은 낱개로 사용이 가능하다. N이 주어졌을 때, N크기의 2진수열을 만든다면, 만들 수 있는 수열의 갯수를 구하는 것이다. 예를 들어, n = 1일 때는 1만 단독으로 사용이 가능할 것이다. n = 2 일 때는 00 or 11 이렇게 구성이 가능할 것이다. 이번에는 n = 3일 때를 생각해보자. 세칸이 있는데, 해당 3칸을 1칸과 2칸으로 나누어 생각해본다면, n = 1일때와 n = 2 일때를 포함하고 있는 것을 파악할 수 있다. 1. 큰 문제를 작은 문제로 나눌 수 있다.(최적 부분 구조) n = 3일..
[이코테] Chapter9-1 / 최단 경로(다익스트라, 플루이드 워셜 알고리즘)
[이코테] Chapter9-1 / 최단 경로(다익스트라, 플루이드 워셜 알고리즘)
2023.01.03가장 빠르게 도달하는 방법 최단 경로(Shrotest Path) 알고리즘은 말 그대로 가장 짧은 경로를 찾는 알고리즘이다. 그래서 '길 찾기' 문제 라고도 불린다. 최단 경로 알고리즘 유형에는 다양한 종류가 있는데 상황에 맞는 효율적인 알고리즘이 이미 정립되어 있다. 예를 들어 '한 지점에서 다른 특정 지점까지의 최단 경로를 구해야 하는 경우', '모든 지점에서 다른 모든 지점까지의 최단 경로를 모두 구해야 하는 경우' 등의 다양한 사례가 존재한다.이런 사례에 맞는 알고리즘을 알고 있다면 문제를 좀 더 쉽게 풀 수 있다. 최단 경로 문제는 보통 그래프를 이용해 표현하는데 각 지점은 그래프에서 '노드'로 표현되고, 지점간 연결된 도로는 그래프에서 '간선'으로 표현된다. 또한 실제 코딩 테스트에서는 최단 경..