1052 물병 (백준, python3)
·
PS/BOJ
시간 제한메모리 제한1초512MB문제지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번에 K개의 물병을 옮길 수 있다. 하지만, 지민이는 물을 낭비하기는 싫고, 이동을 한 번보다 많이 하기는 싫다. 따라서, 지민이는 물병의 물을 적절히 재분배해서, K개를 넘지 않는 비어있지 않은 물병을 만들려고 한다. 물은 다음과 같이 재분배 한다. 먼저 같은 양의 물이 들어있는 물병 두 개를 고른다. 그 다음에 한 개의 물병에 다른 한 쪽에 있는 물을 모두 붓는다. 이 방법을 필요한 만큼 계속 한다. 이런 제약 때문에, N개로 K개를 넘지않는 비어있지 않은 물병을 만드는 것이 ..
파댕이컵 G: 직장인 파댕이의 사회생활
·
PS/BOJ
시간 제한 메모리 제한 1초 1024MB 문제 파댕이는 중견기업 회사에서 직장인으로 일하고 있다. 사장님이 직장인 파댕이를 무척 아끼기 때문에, 파댕이는 사장실에 찾아가 사장님께 인사를 하려고 한다. 직장인 파댕이의 회사가 있는 건물은 K층으로 구성되어 있는데 각 층은 방과 복도로 구성되어 있다. 복도를 통해 방과 방 사이를 양방향으로 이동할 수 있다. 모든 층은 같은 모습을 하고 있다. 파댕이는 현재 1층의 1번 방에 있고, 사장실은 K층의 N번 방이다. 파댕이는 현재 자신의 위치에서부터 사장실까지 최소 시간을 사용하여 도착할 방법을 찾아야 한다. 파댕이는 각각의 복도를 지나가는 데 걸리는 시간이 얼마인지 알고 있다. 더불어 어떤 방에는 엘리베이터가 있어서 그 엘리베이터를 타고 위층으로 올라갈 수 있다..
파댕이컵 B: 여중생 파댕이와 공부를
·
PS/BOJ
시간 제한 메모리 제한 1초 1024MB 문제 여중생 파댕이는 할 것이 너무 많고 공부가 어려워 정신이 없다. 오늘도 여중생 파댕이는 선생님으로부터 덧셈 문제 풀기라는 끔찍한 과제를 받았다. 파댕이는 어찌어찌 과제를 다 하는 데는 성공했지만, 과제를 채점하는 일이 매우 귀찮았다. 그래서 파댕이는 과제를 읽고 자동으로 채점해 주는 프로그램을 개발하려 한다. 파댕이를 도와주자! 이하의 문단들은 문제의 요구 조건을 자세히 기술한 것이다. 직관적인 설명을 원한다면 입력 예시와 출력 예시를 참고하라. 파댕이의 과제가 적힌 종이는 크기 3N × 8M의 행렬로 나타낼 수 있다. 종이 위에는 여러 개의 문제가 적혀 있는데, 하나의 문제가 차지하는 공간은 세로 3, 가로 8이다. 이 문제들이 세로로 N개, 가로로 M개씩..
파댕이컵 A: 유치원생 파댕이 돌보기
·
PS/BOJ
시간 제한 메모리 제한 1초 1024MB 문제 유치원생 파댕이는 아직 어리기 때문에 단것을 매우 좋아한다. 또한, 파댕이는 사탕을 주지 않으면 시도 때도 없이 울곤 한다. 파댕이를 사랑하는 여러분은 일정 시간 동안 파댕이를 돌봐주기로 했다. 여러분은 파댕이를 돌보는 동안 파댕이가 우는 것을 보고 싶지 않기에, 파댕이가 울지 않도록 사탕을 챙겨왔다. 하지만 파댕이를 빨리 보고 싶은 마음에 급하게 사탕을 챙기느라, 돌보는 동안 파댕이가 울지 않게 만들 수 있는 충분한 사탕의 개수인지 확인하지 못했다. 여러분이 가지고 있는 사탕으로 파댕이를 돌보는 동안 파댕이를 울지 않게 만들 수 있는지 알아보자! 여러분은 T분 동안 파댕이를 돌봐야 하며, N개의 사탕을 가지고 있다. 파댕이는 사탕의 맛에 따라 울음을 그치는..
3015: 오아시스 재결합
·
PS/BOJ
시간 제한 메모리 제한 1초 256MB 문제 오아시스의 재결합 공연에 N명이 한 줄로 서서 기다리고 있다. 이 역사적인 순간을 맞이하기 위해 줄에서서 기다리고 있던 백준이는 갑자기 자기가 볼 수 있는 사람의 수가 궁금해 졌다. 두 사람 A와 B가 서로 볼 수 있으려면, 두 사람 사이에 A 또는 B보다 키가 큰 사람이 없어야 한다. 줄에 서있는 사람의 키가 주어졌을 때, 서로 볼 수 있는 쌍의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 줄에서 기다리고 있는 사람의 수 N이 주어진다. (1 ≤ N ≤ 500,000) 둘째 줄부터 N개의 줄에는 각 사람의 키가 나노미터 단위로 주어진다. 모든 사람의 키는 231 나노미터 보다 작다. 사람들이 서 있는 순서대로 입력이 주어진다. 출력 서로 볼 수 있는 ..
10986: 나머지 합
·
PS/BOJ
시간 제한 메모리 제한 1초 256MB 문제 수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다. 입력 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 106, 2 ≤ M ≤ 103) 둘째 줄에 N개의 수 A1, A2, ..., AN이 주어진다. (0 ≤ Ai ≤ 109) 출력 첫째 줄에 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 출력한다. 풀이 1. 1트 누적 합 알고리즘만 써서 제출 해봤더니 시간초과가 떴다. import sys input = sys.stdin.readli..
20920: 영단어 암기는 괴로워
·
PS/BOJ
시간 제한 메모리 제한 1초(추가 시간 없음) 1024MB 문제 화은이는 이번 영어 시험에서 틀린 문제를 바탕으로 영어 단어 암기를 하려고 한다. 그 과정에서 효율적으로 영어 단어를 외우기 위해 영어 단어장을 만들려 하고 있다. 화은이가 만들고자 하는 단어장의 단어 순서는 다음과 같은 우선순위를 차례로 적용하여 만들어진다. 자주 나오는 단어일수록 앞에 배치한다. 해당 단어의 길이가 길수록 앞에 배치한다. 알파벳 사전 순으로 앞에 있는 단어일수록 앞에 배치한다. M보다 짧은 길이의 단어의 경우 읽는 것만으로도 외울 수 있기 때문에 길이가 M이상인 단어들만 외운다고 한다. 화은이가 괴로운 영단어 암기를 효율적으로 할 수 있도록 단어장을 만들어 주자. 입력 첫째 줄에는 영어 지문에 나오는 단어의 개수 N과 외..
17103: 골드바흐 파티션
·
PS/BOJ
시간 제한 메모리 제한 0.5초 512MB 문제 골드바흐의 추측: 2보다 큰 짝수는 두 소수의 합으로 나타낼 수 있다. 짝수 N을 두 소수의 합으로 나타내는 표현을 골드바흐 파티션이라고 한다. 짝수 N이 주어졌을 때, 골드바흐 파티션의 개수를 구해보자. 두 소수의 순서만 다른 것은 같은 파티션이다. 입력 첫째 줄에 테스트 케이스의 개수 T (1 ≤ T ≤ 100)가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 N은 짝수이고, 2 int(N / 2): break if sieve[N - p]: count += 1 print(count)
전라남도교육지원청
'PS/BOJ' 카테고리의 글 목록 (9 Page)