https://www.acmicpc.net/problem/17822 17822번: 원판 돌리기 반지름이 1, 2, ..., N인 원판이 크기가 작아지는 순으로 바닥에 놓여있고, 원판의 중심은 모두 같다. 원판의 반지름이 i이면, 그 원판을 i번째 원판이라고 한다. 각각의 원판에는 M개의 정수가 적혀 www.acmicpc.net N개의 원판에 M개의 수가 있을 때 규칙에 맞춰 진행 후 최종 남은 수의 합을 구하는 문제입니다. 규칙은 다음과 같습니다. - 회전 방법은 정해져 있다. - 번호가 xi의 배수인 원판을 di 방향으로 ki 칸 회전시킨다. (di : 0, 1 : 시계, 반시계) - 원판에 수가 남아있으면 인접한 모든 수를 지운다. - 지울 수가 없으면 전체 남은 수의 평균을 구해 평균보다 크면 -1..
https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 자기 전에 간단한 문제를 하나 풀고 자겠습니다. 문제는 주어진 입력이 X1, X2, .., Xn 일 때 Xi 보다 작은 값이 몇 개인지 구하는 문제입니다. 처음 입력에 대해 중복을 제거한 오름차순 정렬 후 해당 값의 index를 구해주면 됩니다. 예제를 예를 들면 입력이 2 4 -10 4 -9 일 때 -10 -9 2 4 로 중복 제거 오름차순 =>..
https://www.acmicpc.net/problem/2056 2056번: 작업 수행해야 할 작업 N개 (3 ≤ N ≤ 10000)가 있다. 각각의 작업마다 걸리는 시간(1 ≤ 시간 ≤ 100)이 정수로 주어진다. 몇몇 작업들 사이에는 선행 관계라는 게 있어서, 어떤 작업을 수행하기 위해 www.acmicpc.net 대회 문제를 풀어야 하는데 논문 읽기에 눈이 침침해서 하나 풀어봤습니다. (이것도 빨리 해야되는데....) 간단한 위상정렬 문제였습니다. 작업에 걸리는 시간과 선행 작업이 주어졌을 때 전체 작업에 걸리는 최소시간을 구하는 문제입니다. 작업은 동시에 진행이 가능합니다. (문제 예시 : 같은 시간에 3, 4번 작업 수행) 위상 정렬을 이용하여 선행 작업에 대한 차수를 구하고, 차수가 0일 때..
https://www.acmicpc.net/problem/1356 1356번: 유진수 첫째 줄에 수 N이 주어진다. 이 수는 2,147,483,647보다작거나 같은 자연수이다. www.acmicpc.net 유진수라는 친구가 있어 그냥 풀어보았습니다. (무지성 문제 선택 ㅎㅎ) 입력받은 수를 연속된 두 부분으로 나누었을 때 그 두 부분의 곱이 같으면 YES 아니면 NO를 출력합니다. 수를 string으로 생각하고 substring의 원소들을 곱해줘서 비교하면 됩니다. 코드는 다음과 같습니다. def mul(s): res = 1 for c in s: res *= int(c) return res n = input() check = False for i in range(1, len(n)): s1 = n[:i] ..