[백준 2553번] 파이썬 - 마지막 팩토리얼 수
백준 2553 - 마지막 팩토리얼 수 시간 제한 0.3초(추가 시간 없음), 메모리 제한 128MB # 조건 N!의 값을 계산한 후에, 0이 아닌 가장 낮은 자리 수를 구하시오. 예를 들어, 4! = 24이기 때문에, 0이 아닌 가장 낮은 자리 수는 4이다. 또, 5!은 120이기 때문에, 0이 아닌 가장 낮은 자리 수는 2이다. 입력 첫째 줄에 N이 주어진다. N은 20,000보다 작거나 같은 자연수이다. 출력 첫째 줄에 N!의 0이 아닌 마지막 자리수를 출력한다. # 접근 방법 N!을 math.factorial 또는 반복문을 통하여 구해준다. 이후 문자열로 변경하여 뒤에서부터 탐색하며 0이 아닌 값을 출력하고 종료해준다. import sys sys.stdin = open('input.txt&#..
2023.09.23
[백준 1158번] 파이썬 - 요세푸스 문제
백준 1158_요세푸스 문제 시간 제한 2초, 메모리 제한 256MB # 조건 요세푸스 문제는 다음과 같다. 1번부터 N번까지 N명의 사람이 원을 이루면서 앉아있고, 양의 정수 K(
2023.09.23
no image
[백준 14863번] 파이썬 - 서울에서 경산까지
백준 14863 - 서울에서 경산까지 시간 제한 2초, 메모리 제한 512MB # 조건 배우 한정올 씨는 이번 여름에 서울에서 경산까지 자선 여행을 하면서 모금 활동을 진행할 계획이다. 자선 여행에서 거쳐 가게 될 도시의 개수와 순서는 미리 정해져 있으며, 자선 여행은 서울에서 시작하여 각 도시를 정해진 순서대로 단 한 번씩 방문한 후 경산에서 끝난다. 서울을 제외한 도시의 개수를 N 이라 하자. 이때 서울에서 두 번째 도시까지 가는 구간을 구간 1, 두 번째 도시부터 세 번째 도시까지 가는 구간을 구간 2와 같이 부르기로 하며, 마지막 목적지인 경산에 도착하는 구간을 구간 N 이라 하자. 즉, 구간의 전체 개수는 N이다. 구간 사이의 이동은 도보 혹은 자전거 어느 한 쪽을 이용하게 되는데, 각 구간에는..
2023.09.22
[백준 16564번] 파이썬 - 히오스 프로게이머
백준 16564 - 히오스 프로게이머 시간 제한 2초, 메모리 제한 512MB # 조건 성권이는 Heroes of the Storm 프로게이머 지망생이다. 이 게임에는 총 N개의 캐릭터가 있다. 그리고 현재 각 캐릭터의 레벨은 Xi이다. 성권이는 앞으로 게임이 끝날 때까지, 레벨을 최대 총합 K만큼 올릴 수 있다. 팀 목표레벨 T =min(Xi) (1 ≤ i ≤ N)라고 정의하면, 게임이 끝날 때까지 성권이가 달성할 수 있는 최대 팀 목표레벨 T는 무엇인가? 예를 들어, N = 3, X1= 10, X2= 20, X3= 15이고 K = 10일 때, X1을 7만큼 올리고 X3을 2만큼 올리면 최소 레벨 Xi는 17이 된다. 라서 팀 목표레벨 T는 17이다. 이 경우처럼 레벨을 총합 K보다 적게 올릴 수도 있..
2023.09.21
[백준 13413번] 파이썬 - 오셀로 재배치
백준 13413 - 오셀로 재배치 시간 제한 2초, 메모리 제한 256MB # 조건 로봇을 좋아하는 세희는 로봇동아리에서 카메라와 센서, 라즈베리 파이, 집게발을 이용해 로봇을 완성하였다. 이 로봇을 통해서 오셀로 재배치라는 작업을 하려고 한다. 오셀로 말은 앞면이 검정, 뒷면이 흰색으로 된 말이다. 세희의 목표는 로봇을 이용하여 처음 배치된 오셀로 말을 주어진 형태로 바꾸는 일을 하는 것이다. 아래의 예시를 참고하자. 초기 상태 목표 상태 ○●●○○ ○●○●○ 세희는 로봇을 이용해 2가지 작업 중 하나를 골라 진행할 수 있다. 배치된 말 중 임의의 2개의 말을 골라 서로의 위치를 바꾼다. 말 1개를 들어 뒤집어 놓아 색상을 변경한다. 위의 예시에서, 3번째와 4번째 말을 2번 작업을 통해 각각 뒤집으면..
2023.09.19
no image
[백준 9466번] 파이썬 - 텀 프로젝트
백준 9466_텀 프로젝트 조건 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 수도 있다. 프로젝트 팀을 구성하기 위해, 모든 학생들은 프로젝트를 함께하고 싶은 학생을 선택해야 한다. (단, 단 한 명만 선택할 수 있다.) 혼자 하고 싶어하는 학생은 자기 자신을 선택하는 것도 가능하다. 학생들이(s1, s2, ..., sr)이라 할 때, r=1이고 s1이 s1을 선택하는 경우나, s1이 s2를 선택하고, s2가 s3를 선택하고,..., sr-1이 sr을 선택하고, sr이 s1을 선택하는 경우에만 한 팀이 될 수 있다. 예를 들어, 한 반에 7명의 학생이 있다고 하자..
2023.09.18
[백준 6068번] 파이썬 - 시간 관리하기
백준 6068 - 시간 관리하기 시간 제한 1초, 메모리 제한 128MB # 조건 성실한 농부 존은 시간을 효율적으로 관리해야 한다는 걸 깨달았다. 그는 N개의 해야할 일에 (1
2023.09.15
[백준 9342번] 파이썬 - 염색체
백준 9342 - 염색체 시간 제한 2초, 메모리 제한 64MB # 조건 상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙을 만족하는지 검사해야 한다. 문자열은 {A, B, C, D, E, F} 중 0개 또는 1개로 시작해야 한다. 그 다음에는 A가 하나 또는 그 이상 있어야 한다. 그 다음에는 F가 하나 또는 그 이상 있어야 한다. 그 다음에는 C가 하나 또는 그 이상 있어야 한다. 그 다음에는 {A, B, C, D, E, F} 중 0개 또는 1개가 있으며, 더 이상의 문자는 없어야 한다. 문자열이 주어졌을 때, 위의 규칙을 만족하는지 구하는 프로그램을..
2023.09.15
[백준 17298번] 파이썬 - 오큰수
백준 17298 - 오큰수 시간 제한 1초, 메모리 제한 512MB # 조건 크기가 N인 수열 A = A1, A2, ..., AN이 있다. 수열의 각 원소 Ai에 대해서 오큰수 NGE(i)를 구하려고 한다. Ai의 오큰수는 오른쪽에 있으면서 Ai보다 큰 수 중에서 가장 왼쪽에 있는 수를 의미한다. 그러한 수가 없는 경우에 오큰수는 -1이다. 예를 들어, A = [3, 5, 2, 7]인 경우 NGE(1) = 5, NGE(2) = 7, NGE(3) = 7, NGE(4) = -1이다. A = [9, 5, 4, 8]인 경우에는 NGE(1) = -1, NGE(2) = 8, NGE(3) = 8, NGE(4) = -1이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에..
2023.09.15