본문 바로가기

전체 글

(84)
백준 1931 회의실배정 (C++, Python) www.acmicpc.net/problem/1931 1931번: 회의실배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 백준 1931 회의실배정 문제는 백준 11000 강의실 배정 문제와 함께 그리디 알고리즘 입문에 있어 반드시 겪고 넘어갈 문제라고 생각한다. [그리디 알고리즘]이란 매 순간, 가장 최선의 선택을 하는 것을 말한다. 이후에 따로 다시 정리하겠지만, 문제에서 어떠한 상황들(정점)이 어떻게 서로 연결되어지고 관계를 맺는지(간선)를 파악하는 것이 매우 중요하다. 어찌 보면 가장 중요하다고도 볼 수 있을 것 같다. 하나의 정점(상황)에서 일정한 규칙에 의해서 다음 정점 또는 정점들로 이동한다면 DP(Dynamic Programming, ..
백준 1316 그룹 단어 체커 (파이썬) www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때� www.acmicpc.net 이 문제는 파이썬 set을 활용하여 해결하였다. 파이썬에서 입력을 받을 때 sys.stdin.readline함수를 사용하는 게 속도면에서 빠르지만, 이 문제에서는 그냥 input()으로 받았다. 문제에서 주어지는 단어를 읽고, (이 문제에서에는 파이썬에 대해 잘 모르던 시절에 작성하였던 코드라 한 글자씩 일일이 받았다 ㅠㅠ) 새로운 글자가 나오면 set에 담고, 이전에 나왔던 ..
백준 10448 유레카 이론 (C++) www.acmicpc.net/problem/10448 10448번: 유레카 이론 프로그램은 표준입력을 사용한다. 테스트케이스의 개수는 입력의 첫 번째 줄에 주어진다. 각 테스트케이스는 한 줄에 자연수 K (3 ≤ K ≤ 1,000)가 하나씩 포함되어있는 T개의 라인으로 구성되어�� www.acmicpc.net PS 관련 포스팅을 미루고 미루고 또 미루다가 드디어 처음 시작한다. 생각하고 있는 큰 트리가 있지만, 일단은 문제를 하나씩 올려가며 차근차근 정리하겠다. 문제에서 주어진 삼각수를 구하는 식으로부터 2차 방정식을 만들 수 있고, 그를 통해 주어진 입력값을 삼각수(Tn)라고 했을 때, 2차 방정식의 해 중에 양수만 취하면 그 삼각수를 만드는 n을 구할 수 있다. 그러면 모든 수를 검사할 필요 없이 n..
Problem Solving 포스팅을 시작하며... 보호되어 있는 글입니다.