PS

    BOJ 1188 - 음식 평론가

    www.acmicpc.net/problem/1188 1188번: 음식 평론가 첫째 줄에 소시지의 수 N과 평론가의 수 M이 주어진다. (1 ≤ N, M ≤ 100) www.acmicpc.net 이 문제는, 최대 공약수를 활용하는 문제이다. N 개의 소시지들을 한 줄로 다 이어 붙인다고 생각해보면 M 명에게 동등한 양을 주기 위해서는 N / M 개 만큼 줘야한다. 그러나 예외 사항으로, N 이 M 으로 나눠 떨어진다면 자를 필요가 없다 (ex) N = 6, M = 6 M - gcd(N, M) 을 하면 이에 대한 답을 구할 수 있다. 최대 공약수를 쓴다는것을 생각해내기는 꽤나 어려운것 같아서 쉬운 문제는 아닌것 같다 - c++ #include using namespace std; int n, m; int g..

    BOJ 1034 - 램프

    www.acmicpc.net/problem/1034 1034번: 램프 첫째 줄에 N과 M이 주어진다. N은 행의 개수이고, M은 열의 개수이다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 램프의 상태가 주어진다. 1이 켜져있는 상태이고, 0이 꺼져 www.acmicpc.net 행 전체의 전구가 켜져있으면, 그 행을 켜져있다고 부른다. 그래서 어떤 행을 키려면 그 행에서 꺼져있는 열들을 전부 켜줘야 그 행을 켜져있는 행으로 바꿀 수 있다. 만약 처음 입력 받은 값에서 서로 다른 두 행, i, j 가 다른 값들을 갖고 있다면, 둘은 동시에 켜질 수 없을 것이다. 예를들면, 예제입력 1에서 01 10 10 이 주어질때, 첫번째행 01 과 두번째행 10 은 처음 입력이 다르고, 둘다..

    BOJ 1937 - 욕심쟁이 판다

    www.acmicpc.net/problem/1937 1937번: 욕심쟁이 판다 n*n의 크기의 대나무 숲이 있다. 욕심쟁이 판다는 어떤 지역에서 대나무를 먹기 시작한다. 그리고 그 곳의 대나무를 다 먹어 치우면 상, 하, 좌, 우 중 한 곳으로 이동을 한다. 그리고 또 그곳에서 www.acmicpc.net 처음에 풀때 단순하게 dfs 를 매 좌표마다 돌면서, 가장 큰 일수를 찾아내어, 답을 찾으려했지만 시간초과로 처리됬다. 더보기 #include #include #define MAX 501 using namespace std; int n, answer; int adj[MAX][MAX]; bool visited[MAX][MAX]; int dy[4] = {-1, 1, 0, 0}; int dx[4] = {0,..

    BOJ 15999 - 뒤집기

    www.acmicpc.net/problem/15999 15999번: 뒤집기 첫 줄에 격자의 초기 상태로 가능한 경우의 수를 1,000,000,007(109 + 7)로 나눈 나머지를 출력한다. www.acmicpc.net 처음에 문제를 봤을때는, 이전 상태의 가능한 경우의 수를 모두 찾아내야 하니 브루트포스를 쓰는건가 싶었다. 오랫동안 문제 자체를 제대로 이해못하고 있다가, 공식 홈페이지 해설을 보고 문제를 어떻게 풀어야 될지 방향성을 잡았다 tech.kakao.com/2018/09/12/code-festival-2018-round-2/ 코드 페스티벌 2018 본선 이야기 2018 코드 페스티벌, 뜨거운 열기와 함께 본선 시작! 지난 8월 25일 토요일, 카카오 코드 페스티벌 오프라인 본선이 진행됐습니다...

    BOJ 15997 - 승부예측

    www.acmicpc.net/problem/15997 15997번: 승부 예측 첫 번째 줄에 조별리그를 진행할 국가명 네 개가 공백으로 구분되어 주어진다. 주어지는 모든 국가명은 알파벳 대문자로만 구성된 길이가 1 이상 10 이하인 문자열이다. 두 번째 줄부터 일곱 번 www.acmicpc.net 처음엔 단순히 그냥 구현이라 생각하고 풀려다 틀렸었다. 그냥 구현하는게 아닌, 브루트포스, 백트래킹을 써야 하는 문제였다. 4개 국가 중에서 상위 2개 국가를 선정해서 추려야하는데, 따져야할 케이스가 많다. 1. 최상위 점수 국가와 두번째 점수 국가가 나온경우 2. 최상위 점수는 정해졌지만 두번째 점수가 동일한게 2개 있을경우 3. 최상위 점수는 정해졌지만 두번째 점수가 동일한게 3개 있을경우 4. 최상위 점수..

    BOJ 2254 - 감옥 건설

    www.acmicpc.net/problem/2254 2254번: 감옥 건설 첫째 줄에 N(1≤N≤1,000), Px, Py (-100,000≤Px, Py≤100,000)이 주어진다. 다음 N개의 줄에는 차례로 담 기둥의 좌표가 주어진다. 각각의 좌표는 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 이 문제는 볼록껍질(Convex Hull) 에 대해 알고 있어야 풀 수 있다. - 참고 : blog.naver.com/kks227/220857597424 볼록 껍질(Convex Hull) (수정: 2019-08-15) 안녕하세요 ㅎㅎㅎㅎㅎ 학업과 동아리에 미쳐있다가 정말 간만에 공부해탈크리 + 시간남으로 강좌글 하나 ... blog.naver.com - CCW ? : degurii...

    BOJ 1276 - 교각 놓기

    www.acmicpc.net/problem/1276 1276번: 교각 놓기 첫째 줄에 다리의 개수를 나타내는 정수 N(1≤N≤100)이 주어진다. 둘째 줄부터 N+1번째 줄까지 각 줄에 다리의 위치를 나타내는 세 정수 Y, X1, X2가 주어지는 이는 (X1, Y)부터 (X2, Y)까지 다리가 놓여 www.acmicpc.net 문제에서 요구하는 것은, 교각의 길이를 최소화 하여 설치하는 방법을 찾는 것 이므로 수평 값(x1, x2) 에 대해서는 별도의 정렬 처리를 해줄 필요가 없고, 수직 값(y) 에 대해서 정렬 처리를 해줄수밖에 없다. 수직값을 내림 차순으로 정렬해서 높은 위치에 있는 다리 부터 탐색을 시도하는데, 자신보다 높이가 낮은 다리의 x 좌표 구간에 현재 다리의 x 좌표 구간이 겹치면, 자신보..

    BOJ 1461 - 도서관

    www.acmicpc.net/problem/1461 1461번: 도서관 첫째 줄에 책의 개수 N과, 세준이가 한 번에 들 수 있는 책의 개수 M이 주어진다. 둘째 줄에는 책의 위치가 주어진다. N은 10,000보다 작거나 같은 자연수이고, M은 10,000보다 작거나 같다. 책의 위치 www.acmicpc.net 정리해야될 책의 위치와 처음에 세준이 위치한 좌표값은 0 이다. 최대 들고 갈 수 있는 책의 수가 M개 이고, 좌표이동을 해서 책을 제자리로 돌려 놓을 때, 한 칸 이동할때 걸음수를 1이라 하고 최소 걸음수를 계산해야 한다. 주의할점은 책을 놓고 간 뒤, 다시 놓아야될 책이 있으면 시작좌표인 0으로 되돌아 와야 한다는 점이다. 그리고 마지막으로 책을 다 놓으면 다시 시작좌표로 되돌아 올 필요가 ..