[백준 1445번] 파이썬 - 일요일 아침의 데이트
백준 1445 - 일요일 아침의 데이트 시간 제한 2초, 메모리 제한 128MB # 조건 일요일 아침에 형택이는 Maroon5의 Sunday Morning이란 노래를 들으면서 여자친구와의 로맨틱한 여행을 떠나기로 했다. 형택이는 이것저것 환상에 빠져있다가, 계획을 세우는데 실패했다. 따라서, 주위에 있는 숲을 같이 탐험하기로 했다. 깊은 숲속에는 정말 아름다운 꽃이 하나있다. 형택이는 여자친구의 마음을 감동시키기 위해서, 꽃을 보여주면서 자신의 마음을 전해주려고 급하게 계획했다. 불행하게도, 사람들이 숲에다 쓰레기를 버려서 형택이의 계획은 정말 망가지기 직전이다. 형택이는 그동안 여자친구와 사귀면서 2가지 깨달은 것이 있는데, 한 가지는 쓰레기를 통과해서 지나가는 것을 정말 싫어하는 것이고, 쓰레기를 따..
2023.10.02
[백준 22857번] 파이썬 - 가장 긴 짝수 연속한 부분 수열(small)
백준 22857 - 가장 긴 짝수 연속한 부분 수열(small) 시간 제한 1초, 메모리 제한 1024MB # 조건 길이가 $N$인 수열 $S$가 있다. 수열 $S$는 1 이상인 정수로 이루어져 있다. 수열 $S$에서 원하는 위치에 있는 수를 골라 최대 $K$번 삭제를 할 수 있다. 예를 들어, 수열 $S$가 다음과 같이 구성되어 있다고 가정하자. 수열 S : 1 2 3 4 5 6 7 8 수열 $S$에서 4번째에 있는 4를 지운다고 하면 아래와 같다. 수열 S : 1 2 3 5 6 7 8 수열 $S$에서 최대 $K$번 원소를 삭제한 수열에서 짝수로 이루어져 있는 연속한 부분 수열 중 가장 긴 길이를 구해보자. 입력 수열 S의 길이 N와 삭제할 수 있는 최대 횟수인 K가 공백으로 구분되어 주어진다. 두 번..
2023.09.26
[백준 1240번] 파이썬 - 노드사이의 거리
백준 1240 - 노드사이의 거리 시간 제한 2초, 메모리 제한 128MB # 조건 N개의 노드로 이루어진 트리가 주어지고 M개의 두 노드 쌍을 입력받을 때 두 노드 사이의 거리를 출력하라. 입력 첫째 줄에 노드의 개수 N과 거리를 알고 싶은 노드 쌍의 개수 M이 입력되고 다음 N-1개의 줄에 트리 상에 연결된 두 점과 거리를 입력받는다. 그 다음 줄에는 거리를 알고 싶은 $M$개의 노드 쌍이 한 줄에 한 쌍씩 입력된다. 출력 M개의 줄에 차례대로 입력받은 두 노드 사이의 거리를 출력한다. 제한 $2≤N≤1,000$ $1≤M≤1,000$ 트리 상에 연결된 두 점과 거리는 $10,000$ 이하인 자연수이다. 트리 노드의 번호는 $1$부터 $N$까지 자연수이며, 두 노드가 같은 번호를 갖는 경우는 없다. #..
2023.09.25
[백준 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