분류 전체보기

· Diary
사실 달성했는지는 좀 됫는데 까먹고 글을 안올렸다... 시즌이 5월말 종료니 그때까지 플래를 찍고 싶은데 올려야 하는 점수가 200점... 당분간 알고리즘만 집중해서 풀면 가능은 할거 같은데 백수는 백준 티어보단 취직이 우선이니 취업만 하고 혼내줘야겠다 혼나는건 나일거 같지만...
문제 접근 방식 DP로 풀 필요도 없이 규칙만 찾으면 연산 한 줄로도 풀 수 있는 문제지만 그냥 DP로 풀어봤다. 우선 DP 테이블은 불리언 타입의 1차원 배열로 생성한 후에 상근이가 이기는 경우를 true, 창영이가 이기는 경우를 false로 채워주면 된다. 자기 순서에 1, 3, 4개 중 한 번씩 가져갈 수 있으니 이 경우에 상근이는 무조건 이길 수 있고 1, 3, 4번의 초기값은 true로 설정해준다. 9까지 직접 계산해 가며 표를 만들어보면 알 수 있는데 n번째 수를 가져가는 경우 중 상근이가 한 번이라도 가져가는 경우가 있다면 무조건 상근이가 이기는 경우이기 때문에 상근이가 처음에 1개를 가져가거나 3개를 가져가거나 4개를 가져간 후에 창근이가 지는 경우가 한 번이라도 있다면 상근이가 이기는 것..
문제 접근 방식 풀고 나서도 이게 그래프인지 DP 풀이인지 모르겠는 문제였다. 우선 그래프의 한 정점을 기준으로 위와 같이 이동할 수 있으며 2차원 배열을 처음부터 끝까지 돌면서 위와 같이 이동만 해주며 DP 테이블을 채워주면 된다. 따로 방문여부를 기록하지 않고 DP 테이블의 값이 0인지 아닌지로 확인하려 했는데 정점의 값이 음수인 경우도 있어서 합이 0일 때가 있을 수 있기 때문에 따로 방문 여부를 기록할 불리언 배열을 사용했다. 각 정점(i, j)에서 갈 수 있는 정점들을 방문하며 처음 방문한 정점(x, y)이면 방문 여부를 참으로 바꾸고, (x, y)의 DP 테이블에 (i, j) 테이블의 값 + 현재 정점의 값을 기록하고 이미 방문한 정점이라면 이미 기록된 값과 새로운 값 중 더 작은 값을 기록한..
문제 접근 방식 1원, 2원, 5원 총 3가지의 동전으로 1원부터 10원을 만드는 경우를 적어보면 다음과 같다. 11 211 2 3111 12 41111 112 22 511111 1112 122 5 6111111 11112 1122 15 222 71111111 111112 11122 115 1222 25 811111111 1111112 111122 1115 11222 125 2222 9111111111 11111112 1111122 11115 111222 1125 12222 225 101111111111 111111112 11111122 111115 1111222 11125 112222 1225 22222 55 다시 1원만 사용한 경우, 1원과 2원을 사용한 경우, 세 가지 동전을 모두 사용한 경우로 경..
문제 접근 방식 카드를 n개 살 때, 가장 돈을 많이 쓰는 경우를 구해야 한다. i번째 카드팩에는 카드가 i개 들어있다 했으니 만약 카드를 4개 사야한다 가정하면 1번팩 + 1번팩 + 1번팩 + 1번팩 1번팩 + 1번팩 + 2번팩 1번팩 + 3번팩 2번팩 + 2번팩 4번팩 위와 같은 경우의 수가 만들어진다. 4개가 아닌 3개로 줄여보면 다음과 같을 것이고 1번팩 + 1번팩 + 1번팩 1번팩 + 2번팩 3번팩 2개로 줄이면 다음과 같다. 1번팩 + 1번팩 2번팩 1개면 당연히 1번팩 하나만 살 수 있다. 결국 n개를 고를 때 i번 팩을 골랐다면 n-i개를 고를 수 있고 (i번 팩값 + n-i개를 고를 수 있는 경우 가장 큰 값) 이 된다. 이를 dp[i]를 채울 때마다 1번 팩을 고른 경우부터 i번 팩을 ..
문제 접근 방식 가장 많은 양의 포도주를 마실 수 있는 경우를 찾아야 하는데 두 번째 조건을 보면 연속으로 마실 수 있는 포도주는 두 잔까지고 이는 1,2번째 잔을 마셨다면 3번째 잔은 건너뛰고 4,5,6,...n번째 포도주 중 하나를 먹어야 한다는 말이다. 거꾸로 생각해 보면 두 잔을 연속으로 마실 때는 이전 잔을 무조건 마셨다는 것이 되고 한 잔만 마셨을 때는 바로 이전 잔을 제외한 이전의 어떠한 잔들 중 하나 이상은 마신 것이 된다. 만약 n번째 잔을 마실 때, 해당 잔이 연속으로 두 번째 마시고 있는 잔이라면 (n번 잔의 양 + n-1번 잔을 첫 번째로 마신 경우의 최댓값) 이 해당 경우의 최댓값이 되고 해당 잔이 연속이 아닌 첫 번째로 마시고 있는 잔이라면 n-2 이하 번의 잔의 최댓값 + n번..
· Book
URL scheme://호스트/리소스의 위치 http://www.server.com/resource/abcd.gif 브라우저(클라이언트)가 필요로 하는 리소스를 찾을 수 있게 리소스의 위치를 가리키는 식별자로 이를 통해 HTTP 및 다른 프로토콜을 통해 접근할 수 있다. URL 문법 스킴(HTTP, FTP, SMTP 등)에 따라 문법이 조금씩 달라지긴 하지만 대부분의 문법은 일반적으로 아래와 같이 9개의 컴포넌트로 나뉜다. ://:@:/;?# 이 모두를 사용하는 URL은 거의 없고, 핵심 컴포넌트는 스킴, 호스트, 경로다. 스킴 스킴은 URL을 사용하는 애플리케이션에게 어떤 프로토콜을 사용해 리소스를 요청할지 알려준다. 주로 http, ftp, rtsp, smtp 같은 프로토콜이 있고 알파벳으로 시작해야..
문제 접근 방식 한 자리의 경우 : 1 두 자리의 경우 : 11, 00 세 자리의 경우 : 111, 100, 001 네 자리의 경우 : 1111, 1100, 1001, 0011, 0000 다섯 자리의 경우 : 11111, 11100, 11001, 10011, 10000, 00111, 00100, 00001 각 자릿수 별로 경우의 수를 적어보면 위와 같다. 우리가 사용할 수 있는 숫자는 한 자리인 1과 두 자리인 00 두 가지만 있는데 만약 여섯 자리의 수를 만들어야 한다 가정하면 첫자리에 1이 오면 그 뒤에는 다섯 자리의 수가 올 수 있을 테니 기존에 구해둔 다섯 자리의 경우만큼 만들 수 있을 것이고 첫자리에 00이 오면 그 뒤에는 네 자리의 수가 올 수 있으니 기존에 구해둔 네 자리의 경우만큼 만들 수..
da9dac
'분류 전체보기' 카테고리의 글 목록 (7 Page)