728x90
728x90
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 9012번 - 괄호: https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 해법 괄호는 항상 열린 후에 닫혀야 하기 때문에 '('를 1, ')'를 -1로 치환하여 모두 합산했을때 0이라면 유효한 VPS, 아니라면 비유효한 VPS이다. 단,..
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 1094번 - 막대기: https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 해법 단순히 문제에서 주어지는 처리 과정을 코드로 옮기는 것만으로도 쉽게 해결할 수 있다. 필자의 경우, 각 막대기의 길이를 담은 리스트를 만들어 해당 처리과정을 수행하도록 하였다. 풀이
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 1018번 - 체스판 다시 칠하기: https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 해법 이번엔 브루트포스를 통한 단순비교가 필요한 문제다. 정상적인 체스판의 데이터를 만들어두고 주어진 M*N 크기의 보드를 8*8 크기의 영역으로 크롭하면 나오는 모든 경우..
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 1463번 - 1로 만들기 https://www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 해법 Top-Down 방식의 재귀호출로 이 문제를 해결하려고 하면 시간초과로 막히게 될 것이다(사실 필자가 그랬다.) 사실 뭔가 재귀를 써야한다 싶으면 사실 Top-Down으로 풀어도 되는 문제는 없다... 그래서 아무튼 이번 문제는 Memoization을 통한 Bottom-Up DP를 사용해야 해결할 ..
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 1934번 - 최소공배수 https://www.acmicpc.net/problem/1934 1934번: 최소공배수 두 자연수 A와 B에 대해서, A의 배수이면서 B의 배수인 자연수를 A와 B의 공배수라고 한다. 이런 공배수 중에서 가장 작은 수를 최소공배수라고 한다. 예를 들어, 6과 15의 공배수는 30, 60, 90등이 있 www.acmicpc.net 해법 이번 문제는 주어진 A, B에 대하여 두 수의 최소공배수를 구하는 문제다. 이번 문제는 "유클리드 호제법"을 이용하면 쉽게 해결할 수 있다. 우선 유클리드 호제법을 ..
서론 본 포스팅 시리즈는 필자가 Baekjoon 문제를 풀면서 정리한 코드나 이론을 올리는 포스팅이다. 대부분의 설명은 코드의 주석으로 기재되어있으니 참고바란다. 문제 Baekjoon 4948번 - 베르트랑 공준 https://www.acmicpc.net/problem/4948 4948번: 베르트랑 공준 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼 www.acmicpc.net 해법 이번 문제는 주어진 정수 N에 대하여, N보다 크고 2N보다 작거나 같은 소수의 개수를 출력하는 문제다. 이번 문제도 에라토스테네스의 체를 사용하면 쉽게 해결할 수 있는데, ..