본문 바로가기

분류 전체보기

(49)
[이코테] 상하좌우 풀이 과정 1. 문제를 정독하면서 메모한다. 주의해야 할 것은 ※으로 표시한다. N x N 크기의 정사각형 공간이 주어진다. 시작 좌표는 항상 (1,1)이며, 최대 좌표는 (N, N)이다. 주의할 점은 정사각형 공간을 벗어나는 움직임은 무시된다는 점이다. 입력 첫째 줄에 공간의 크기를 나타내는 N이 주어지고, 둘째 줄에 여행가 A가 이동할 계획서 내용이 주어진다. 입력 조건을 메모했고, 최종적으로 도착하는 지점의 좌표를 출력하면 된다. 2. 알고리즘을 떠올리고 적용하려고 노력한다. 구현 문제이므로 알고리즘을 떠올리기는 쉬웠으나 막상 소스코드로 구현하는 데는 어려움이 있었다. 주의할 점이 없었다면 바로 코딩할 수 있는 문제였으나 주의할 점으로 인해 문제가 조금 까다로워졌다. 3. 필요한 변수에 대해서는 변..
[이코테] 1이 될 때까지 풀이 과정 1. 문제를 정독하면서 메모한다. 주의해야 할 것은 ※으로 표시한다. 입력 첫째 줄에 어떠한 수 N과 나눌 수 K가 주어진다. 이 둘을 입력 조건과 함께 메모했다. 그리고 문제에서 사례로 든 예시는 하나하나 살펴봤다. 2. 알고리즘을 떠올리고 적용하려고 노력한다. 역시 그리디 알고리즘을 알고 있으므로 어떻게 적용할지 고민했다. 지금 당장 가능한 선택 중 최적의 선택을 해야 하므로 N이 K로 나누어 떨어지면 2번의 과정('N을 K로 나눈다.')을, 나누어 떨어지지 않으면 1번의 과정('N에서 1을 뺀다.')을 하는 것이 최적이라 생각했다. 2번의 과정이 N이 K로 나누어 떨어질 때만 선택할 수 있으므로 최적의 해임을 보장받을 수 있다. 그리디는 정렬 알고리즘과 자주 짝을 이뤄 출제되는데, 이번 ..
[이코테] 숫자 카드 게임 풀이 과정 1. 문제를 정독하면서 메모한다. 주의해야 할 것은 ※으로 표시한다. 입력 첫째 줄에 행의 개수 N, 열의 개수 M이 주어지고, 둘째 줄부터 N개의 줄에 걸쳐 각 카드에 적힌 숫자가 주어진다. 입력 조건과 필요한 변수를 메모했다. 2. 알고리즘을 떠올리고 적용하려고 노력한다. 역시 그리디 알고리즘 실전 문제이므로 알고리즘은 알고 있었다. 그리디 알고리즘은 현재 상황에서 가장 좋은 것을 선택하는 알고리즘이다. 행을 선택하면 뽑는 카드가 자동으로 정해지므로, 어떤 행을 선택하느냐가 중요하다. 최종적으로 가장 높은 숫자의 카드를 뽑기 위해서는 행마다 가장 숫자가 낮은 카드를 미리 계산할 수밖에 없다. 행마다 가장 숫자가 낮은 카드를 구하고, 그 카드들 중 가장 높은 숫자의 카드를 뽑으면 된다. 그리..
[이코테] 큰 수의 법칙 풀이 과정 1. 문제를 정독하면서 메모한다. 주의해야 할 것은 ※으로 표시한다. 입력 첫째 줄에 배열의 크기 N, 주어진 수들을 더하는 횟수 M, 연속해서 초과하여 더해질 수 없는 횟수 K가 주어지고 둘째 줄에 배열에 해당하는 N개의 자연수가 주어진다. 서로 다른 인덱스에 해당하는 수가 같은 경우에도 서로 다른 것으로 간주한다는 것은 주의할 사항이므로 ※으로 따로 표시했다. 입력 조건도 메모했다. 그리고 문제에서 예시로 든 케이스를 하나하나 살펴보며 규칙을 찾으려 노력했다. 2. 알고리즘을 떠올리고 적용하려고 노력한다. 이건 그리디 알고리즘 실전 문제이므로 이미 알고리즘은 알고 있었다. 그리디 알고리즘은 지금 당장 좋은 것만 선택하는 알고리즘이다. 지금 당장 좋은 것만 선택했을 때 나올 수 있는 경우의 ..
Conv1D, Conv2D, Conv3D 차이 말 그대로다. 1차원 배열 데이터에는 Conv1D를, 2차원 배열 데이터에는 Conv2D를 사용한다. 아직까지 Conv3D를 사용해 본 적은 없지만 마찬가지로 3차원 배열 데이터에 사용한다. 즉, Conv1D, Conv2D, Conv3D 차이는 입력 데이터의 차원이다. 그런데 여기서 끝나면 의문이 생긴다. 코드를 보자. model = tf.keras.models.Sequential([ # Note the input shape is the desired size of the image 150x150 with 3 bytes color tf.keras.layers.Conv2D(64, (3,3), activation='relu', input_shape=(150, 150, 3)), tf.keras.layers.M..