알고리즘
-
1018.체스판 다시 칠하기알고리즘/백준 BAEK JOON 2020. 5. 4. 16:27
(*)이번에 풀어볼 문제는 백준의 1018 체스판 다시 칠하기이다. 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이전에 풀었던 막대기처럼 정해진 비교대상이 있을 경우 비교 기준을 만들어놓고 비교해가는 방법을 사용했다. 1094.막대기 1094 역시 굉장히 쉬운문제이다. 이 문제는 쉽지만 포스팅하는 이유는 문제를 읽으면서 드디어 효율을 동시에 생각하기 시작했다고 느꼈기 때문이다. 이 문제는 막대기를 잘라서 자기가 원하는 X의 길이의 막대기.. xn--vj5b11biyw.kr 하지만.... 푸는 방법은..
-
14891.톱니바퀴알고리즘/백준 BAEK JOON 2020. 5. 1. 19:31
이번에 풀어볼 문제는 백준의 14891 톱니바꾸다. 난이도가 그렇게 어렵지는 않다. 쪼끔 까다롭게 느껴질뿐.. 모든 문제가 그렇듯 이 문제 역시 초반에 구상을 잘하고 들어가야한다. 그렇지 않으면 자신이 굉장히 까다롭게 느껴질 것이고 생각보다 많은 시간이 소요될 수 있다. ( 나의 코드를 추천하지는 않는다.. 너무 하수의 풀이인 것 같기 때문에...ㅎㅎ) 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다. 이때, 톱니바퀴를 총 K번 회전시키려고 한다. 톱니바퀴..
-
1057.토너먼트알고리즘/백준 BAEK JOON 2020. 5. 1. 16:50
(*)이번에 풀어볼 문제는 백준의 1057 토너먼트이다. 시뮬레이션 분류파트에 있는 문제이다. 1057번: 토너먼트 김지민은 N명이 참가하는 스타 토너먼트에 진출했다. 토너먼트는 다음과 같이 진행된다. 일단 N명의 참가자는 번호가 1번부터 N번까지 배정받는다. 그러고 난 후에 서로 인접한 번호끼리 스타를 한다. 이긴 사람은 다음 라운드에 진출하고, 진 사람은 그 라운드에서 떨어진다. 만약 그 라운드의 참가자가 홀수명이라면, 마지막 번호를 가진 참가자는 다음 라운드로 자동 진출한다. 다음 라운드에선 다시 참가자의 번호를 1번부터 매긴다. 이때, 번호를 매기는 순서는 처음 www.acmicpc.net 시뮬레이션은 겉보기엔 쉬워보일 수 있고 이렇게 구현하면 되겠지라는 생각이 들지만 막상 구현을 해보라고하면 굉..
-
1094.막대기알고리즘/백준 BAEK JOON 2020. 4. 26. 16:38
1094 역시 굉장히 쉬운문제이다. 이 문제는 쉽지만 포스팅하는 이유는 문제를 읽으면서 드디어 효율을 동시에 생각하기 시작했다고 느꼈기 때문이다. 이 문제는 막대기를 잘라서 자기가 원하는 X의 길이의 막대기를 만들어내는 문제이다. 푸는 방법은 다양하다. 어쩌면 비슷할 수도 있다. 왜냐하면 간단한 로직으로 누구나 풀 수 있기 때문이다. 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대를 만들려고 한다. 막대를 자르는 가장 쉬운 방법은 절반으로 자르는 것이다. 지민이는 아래와 같은 과정을 거쳐서 막대를 자르려고 한다. 지민이가 가지고 있는..
-
4948.베르트랑 공준알고리즘/백준 BAEK JOON 2020. 4. 25. 18:33
이번에 풀어볼 문제는 백준의 베르트랑 공준이다. 이 문제는 소수만 구할 수 있으면 풀 수 있는 간단한 문제이다. 4948번: 베르트랑 공준 문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) n이 주어졌을 때, n보다 크고, 2n보 www.acmicpc.net #include #include #define MAX 12345..
-
2884.알람 시계알고리즘/백준 BAEK JOON 2020. 4. 21. 23:10
이번 문제 역시 난이도가 매우매우 쉽다... 사실 포스팅할 필요도 없다. 다만 구현 문제를 보면서 느끼는 점은 예외처리를 생각해보라는 의도들이 있는 것 같아서... 다음 포스팅 부터 쉬운 문제들은 최대한 안쓰고 넘어가야 겠다. 2884번: 알람 시계 문제 상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만, 조금만 더 자려는 마음은 그 어떤 것도 없앨 수가 없었다. 이런 상근이를 불쌍하게 보던, 창영이는 자신이 사용하는 방법을 추천해 주었다. 바로 "45분 일찍 알람 설정하기"이다. 이 방법은 단순하다. 원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. ww..
-
2577.숫자의 개수알고리즘/백준 BAEK JOON 2020. 4. 21. 22:55
이번에 풀어볼 문제는 난이도는 굉장히 쉽다면 쉽다. 구현의 분류에 있는 문제인데 어떻게하면 좀더 효율적으로 풀 수 있는지 고민해볼 수도 있고 여러사람의 코드를 보면서 생각해볼 수 있는 문제인 것 같다. 지금까지 풀었던 구현 문제들(블로그에 포스팅 안한 것도 있음)을 보면 대부분 난이도는 그렇게 어렵지 않지만 생각해보기 좋은 문제들이 나오는 것 같다. 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 같거나 크고, 1,000보다 작은 자연수이다. www.acmicpc.net #include #include #include using namespace std; int main() { int a, b, c; cin >> a..
-
5430.AC알고리즘/백준 BAEK JOON 2020. 4. 13. 18:10
이번에 풀어볼 문제는 백준의 5430번 AC이다. 난이도가 많이 어렵기보단 센스가 필요한 거 같다. 문제를 보도록 하자. .....?????? 5430번: AC 문제 선영이는 주말에 할 일이 없어서 새로운 언어 AC를 만들었다. AC는 정수 배열에 연산을 하기 위해 만든 언어이다. 이 언어에는 두 가지 함수 R(뒤집기)과 D(버리기)가 있다. 함수 R은 배열에 있는 숫자의 순서를 뒤집는 함수이고, D는 첫 번째 숫자를 버리는 함수이다. 배열이 비어있는데 D를 사용한 경우에는 에러가 발생한다. 함수는 조합해서 한 번에 사용할 수 있다. 예를 들어, "AB"는 A를 수행한 다음에 바로 이어서 B를 수행하는 함수이다. www.acmicpc.net #include #include #incl..