회의실 배정 성공 문제 한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 회의의 최대 개수를 찾아보자. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 입력 첫째 줄에 회의의 수 N(1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N+1 줄까지 각 회의의 정보가 주어지는데 이것은 공백을 사이에 두고 회의의 시작시간과 끝나는 시간이 주어진다. 시작 시간과 끝나는 시간은 ..
코딩테스트
오랜만에 알고리즘 문제 푸려니까 죽을 맛이네요 영역 구하기 성공 문제 눈금의 간격이 1인 M×N(M, N≤100) 크기의 모눈종이가 있다. 이 모눈종이 위에 눈금에 맞추어 K개의 직사각형을 그릴 때, 이들 K개의 직사각형의 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어진다. 예를 들어 M=5, N=7 인 모눈종이 위에 과 같이 직사각형 3개를 그렸다면, 그 나머지 영역은 와 같이 3개의 분리된 영역으로 나누어지게 된다. 와 같이 분리된 세 영역의 넓이는 각각 1, 7, 13이 된다. M, N과 K 그리고 K개의 직사각형의 좌표가 주어질 때, K개의 직사각형 내부를 제외한 나머지 부분이 몇 개의 분리된 영역으로 나누어지는지, 그리고 분리된 각 영역의 넓이가 얼마인지를 구하여 이를 출력하는 프..
안녕하세요, 오늘은 dx, dy테크닉에 관련하여 새로운 문제를 소개해드리겠습니다. 문제 n * n크기의 직사각형의 가운데에서 시작하여 오른쪽, 위, 왼쪽, 아래 순서로 더 이상 채울 곳이 없을 때까지 회전하며 숫자를 적어나가려고 합니다. 숫자는 1부터 시작한다고 했을 때, 다음과 같은 모양으로 숫자들을 쭉 채우는 코드를 작성해보세요. 입력 형식 첫 번째 줄에 크기를 나타내는 n이 주어집니다. 주어지는 n은 항상 홀수라고 가정해도 좋습니다. 1 ≤ n ≤ 100 출력 형식 숫자로 채워진 완성된 형태의 n * n 크기의 사각형을 출력합니다. (숫자끼리는 공백을 사이에 두고 출력합니다.) 입출력 예제 예제 1 입력: 3 출력: 5 4 3 6 1 2 7 8 9 예제 2 입력: 5 출력: 17 16 15 14 1..
요즘 학교에서 하는 python 캠프를 수행하고 있는데요. 코드 트리라는 사이트에서 문제풀이 형식으로 진행하고 있습니다. 그중 꽤 난이도가 있어서 성취감이 있었던 문제를 가져왔습니다. 이번 캠프를 통해 파이썬을 처음 접해봐서 코드가 매우 깔끔하지 못합니다. 원래 Java 유저여서 자바처럼 풀려고 하는 습관이 남아있네요. 풀이 시작하겠습니다. 문제 N * N 크기의 격자 안에 각 칸마다 거울이 하나씩 들어 있습니다. 각 거울은 \나 /의 형태를 띄고있고, 격자 밖 4N개의 위치 중 특정 위치에서 레이저를 쏘았을 때, 거울에 튕기는 횟수를 구하는 프로그램을 작성해보세요. 입력 형식 첫 번째 줄에 N이 주어집니다. 두 번째 줄부터 N개의 줄에 걸쳐 맵의 정보가 주어집니다. 각 줄에는 각 행에 해당하는 정보가 ..