728x90
반응형

2024/02/16 4

Lv.3 [동적계획법] - 정수 삼각형

[ 문제 링크 ] HTML 삽입 미리보기할 수 없는 소스 [ 문제 설명 이미지 ] 더보기 동적계획법 큰 문제를 작은 문제로 나누어 푸는 방법. 복잡한 문제를 풀기 위해 작게 조각내어 문제를 풀고 합치면 된다. 정수삼각형 숫자로 구해진 삼각형이 있고 위에서부터 대각선으로만 내려올 수 있다. 내려오면서 숫자를 더했을 때 어떤 경로로 이동했을 때 가장 큰 숫자가 나오는지 가장 큰 최대값을 구하는것이 문제이다. 굉장히 많은 경우의수가 나올수 있기 때문에 어렵게 느껴질 수 있지만, 이중 하나만 때어놓고 생각해보면 7에서 3으로 가는것과 7에서 8로 가는것 둘중 어느것이 최대값으로 가는것인지 생각해보면 굉장히 단순하다. 이 작은 조각의 단위가 여러개 있는것 뿐이다. 중간의 경우 8 1 0 2 7 4 4 처음 2는 ..

Lv.4 [깊이우선탐색] - 올바른 괄호의 갯수 (풀이 미완성)

[ 문제 링크 ] HTML 삽입 미리보기할 수 없는 소스 [ 문제 설명 이미지 ] 더보기 올바른 괄호의 갯수 A 입력값으로 괄호쌍의 갯수가 주어지고 이 괄호의 조합중에 올바르게 닫힌 괄호의 갯수가 몇개인지 구하는 문제 모든 케이스를 다 순회하면서 조건에 맞는 경우만 카운트한다. 괄호가 열렸다가, 닫혔다가 하면서 점점 증가하며 여러 케이스가 생기고 각 케이스에서 열리고 닫히는 순서를 달리하면서 또 다른 케이스들이 파생되기 때문에 선형적으로 증가하지 않게되므로 비 선형구조 탐색에서는 너비,깊이 우선 탐색이 있다. N = 2라고 가정 주어진 괄호를 하나씩 차근차근 쌓아나가것으로 문제를 접근한다. 열리는괄호 닫히는괄호 각각 N개씩있다. N이 2일때 열리는것 혹은 닫히는것 각각의 기준을 놓고 시작할 수 있다. 그..

Lv.2 [너비우선탐색] - 게임 맵 최단거리 (풀이 미완성)

[ 문제 링크 ] HTML 삽입 미리보기할 수 없는 소스 [ 문제 설명 이미지 ] 더보기 게임 맵 최단거리 미로의 시작 점에서 시작해서 목적지까지 찾아가는 최단 거리를 구하는 문제이다. 최단거리 탐색 중 BFS - 너비우선 탐색에 대한 전형적인 문제이다. 현재 시점에 움직일 수 있는 여러가지 경우의 수 중 모든 경우를 다 확인해야 한다. 맵에서 player가 특정 위치에 있을 때 대각선을 제외한 이동가능 경우의 수는 4가지 경우의 수가 나온다. 이 4가지 경우를 모두 가본다. 각 방향대로 1칸씩 움직인 이후에 다음 위치를 경우의 수 대로 생각하는 방식이다. 현재 시작점 위치를 0으로 두고 각각의 이동할 수 있는 경우의 수를 모두 가보는 것이다. 현재 위치의 수보다 1씩 더해서 이동하게 된다. 만약 벽이 ..

Lv.2 [Hash] - 의상(위장)

[ 문제 링크 ] HTML 삽입 미리보기할 수 없는 소스 [ 문제 설명 이미지 ] 더보기 의상(위장) 스파이가 위장할 수 있는 아이템들의 종류가 있다. 각 종류들을 조합해서 위장을 하게 되는데, 그 모든 경우의 수가 몇가지가 되는가 위장 용품은 착용을 할 수 있고 안할 수도 있다. 쉽게 접근하면 위장용품들의 각 갯수를 서로 곱하면 모든 경우의 수가 나온다. 하지만 착용 안할 수도 있다. 경우의 수에 1을 더해서 모두 곱해주면 된다. 모든 위장용품을 하나도 착용하지 않은 경우가 포함되기 때문에 추후 1을 빼주면 된다. 문제의 핵심은 경우의 수를 구하는 것이 아니라 아이템의 종류별로 갯수를 카운트하는데에 있다. 문제에서는 헤드기어 2종류, 아이웨어 1종류가 있다. 종류별로 총 몇개가 나오는지를 카운트 하는것..