PS
-
[백준] 17389 보너스 점수 with PythonPS 2023. 4. 14. 11:47
📌 BOJ 17389 보너스 점수 💡 조건 OX표에 N개의 문제들이 있을 때, 1번 문제, 2번 문제, ..., N번 문제 순으로 채점된다. 문제는 뒤로 갈수록 어려워지기 때문에, i 번 문제의 기본 점수는 i 점이다. 문제를 맞히면 그 문제의 기본 점수(즉 i 번 문제의 경우 i 점)를 획득하며, 틀리면 얻지 못한다. 기본 점수와 별개로, '보너스 점수'라는 값이 존재한다. 이는 처음에는 0점이다. 문제를 맞히면 그 때의 '보너스 점수'를 획득하고, '보너스 점수'의 값이 1점 증가한다. 문제를 틀리면 '보너스 점수'를 얻지 못하고, '보너스 점수'의 값이 0점으로 초기화된다. 첫 번째 줄에 OX표의 길이인 자연수 N이 주어진다. ..
-
[백준] 11383 뚊 with PythonPS 2023. 4. 13. 15:08
📌 BOJ 11383 뚊 💡 조건 정우는 "뚊"과 "돌돔"을 의미하는 두 이미지를 받았다. 과연 두 그림이 같은지 검사해보자. 즉 N× M 크기의 이미지와 N ×2 M 크기의 이미지가 주어질 때 첫 번째 이미지를 가로로 두 배로 늘이면 두 번째 이미지가 되는지 검사하는 프로그램을 작성하는 문제. 입력의 첫 번째 줄에 N, M (1 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄의 각 줄에는 M개의 문자가 주어진다. 다음 N개의 줄의 각 줄에는 2M개의 문자가 주어진다. 모든 문자는 영문 알파벳 대문자 혹은 소문자이다. 첫 번째로 주어진 이미지를 가로로 두 배로 늘렸을 때 두 번째 이미지가 된다면 "Eyfa"을 출력, 되지 않는다면 "Not Eyfa"을 출력 문자열, 구현 유형의 문제 🔖 예제 및 실행..
-
[백준] 4740 거울, 오! 거울 문자열 with PythonPS 2023. 4. 13. 13:25
📌 BOJ 12871 거울, 오! 거울 문자열 💡 조건 문장을 입력하면 입력한 문장의 개별 단어들을 역순으로 배치하여 거꾸로 바뀐 문장을 출력하는 프로그램을 만들어 '거울 읽기' 연습을 하려고 마음먹었다. 하나 또는 그 이상의 줄에 각각 ASCII 글자로 나타낼 수 있는 단어들(알파벳, 숫자, 공백, 구두점 등)로 구성된 문장을 입력한다. 각 문장은 최소 1글자에서 최대 80글자로 이루어져 있으며, ***을 입력하면 프로그램이 종료된다. 한 문장의 입력이 끝난 뒤 바로 입력한 문장의 글자들이 역순으로 바뀌어 배치된 문장을 출력한다. 문자열, 구현 유형의 문제 🔖 예제 및 실행결과 예제 1 AMBULANCE Evian madam, i'm adam *** 실행결과 1 ECNALUBMA ..
-
[백준] 12871 무한 문자열 with PythonPS 2023. 4. 13. 11:42
📌 BOJ 12871 무한 문자열 💡 조건 문자열 s가 있을 때, f(s)는 s를 무한번 붙인 문자열로 정의한다. 예를 들어, s = "abc" 인 경우에 f(s) = "abcabcabcabc..."가 된다. 다른 문자열 s와 t가 있을 때, f(s)와 f(t)가 같은 문자열인 경우가 있다. 예를 들어서, s = "abc", t = "abcabc"인 경우에 f(s)와 f(t)는 같은 문자열을 만든다. s와 t가 주어졌을 때, f(s)와 f(t)가 같은 문자열을 만드는지 아닌지 구하는 문제. 첫째 줄에 s, 둘째 줄에 t가 주어진다. 두 문자열 s와 t의 길이는 50보다 작거나 같은 자연수이고, 알파벳 소문자로만 이루어져 있다. 첫째 줄에 f(s)와 f(t)가 같으면 1을, 다르면 0을 출력한다. 문자열,..
-
[백준] 5363 요다 with PythonPS 2023. 4. 13. 11:30
📌 BOJ 5363 요다 💡 조건 어린 제다이들은 요다와 대화하는 법을 배워야 한다. 요다는 모든 문장에서 가장 앞 단어 두 개를 제일 마지막에 말한다. 어떤 문장이 주어졌을 때, 요다의 말로 바꿔 출력하는 문제. 첫째 줄에 문장의 수 N이 주어진다. 둘째 줄부터 N개의 줄에는 각 문장이 주어진다. 문장의 길이는 100글자 이내이다. 단어의 개수는 3개 이상이다. 문자열, 구현 문제 🔖 예제 및 실행결과 예제 1 4 I will go now to find the Wookiee Solo found the death star near planet Kessel I'll fight Darth Maul here and now Vader will find Luke before he can escape 실행결..
-
[백준] 1124 언더프라임 with PythonPS 2023. 4. 11. 15:20
📌 BOJ 1124 언더프라임 💡 조건 자연수 X를 소인수분해하면, 곱해서 X가 되는 소수의 목록을 얻을 수 있다. 예를 들어, 12 = 2 × 2 × 3이다. 1은 소수가 아니다. 어떤 수 X를 소인수분해 해서 구한 소수의 목록의 길이가 소수이면, 그 수를 언더프라임 이라고 한다. 12는 목록에 포함된 소수의 개수가 3개이고, 3은 소수이니 12는 언더프라임이다. 두 정수 A와 B가 주어졌을 때, A보다 크거나 같고, B보다 작거나 같은 정수 중에서 언더프라임인 것의 개수를 구하는 문제 2 ≤ A ≤ B ≤ 100,000 에라토스테네스의 체, 수학, 소수판정 유형의 문제 🔖 예제 및 실행결과 예제 1 2 10 실행결과 1 5 예제 2 100 105 실행결과 2 2 예제 3 17 17 실행결과 3 0 예..
-
[백준] 7600 문자가 몇갤까 with PythonPS 2023. 4. 11. 15:11
📌 BOJ 7600 문자가 몇갤까 💡 조건 각 케이스마다 문장에서 공백, 숫자, 특수 문자를 제외하고 얼마나 다양한 알파벳이 나왔는지를 구하는 문제. 대소문자는 하나의 문자로 처리한다. ex) 'A' == 'a' 입력은 250자를 넘지 않는 문장이 주어진다. 각 문장은 적어도 하나의 공백이 아닌 문자를 포함한다. (알파벳이 아닐 수 있다) 마지막 줄에는 '#'이 주어진다. 문자열, 구현 유형의 문제 🔖 예제 및 실행결과 예제 1 The quick brown fox jumped over the lazy dogs. 2 + 2 = 4 New Zealand Programming Contest. # 실행결과 1 26 0 16 ⌨️ 문제 풀이 입력받은 문장을 모두 소문자로..
-
[백준] 24480 알고리즘 수업 - 깊이 우선 탐색 2 with PythonPS 2023. 4. 10. 17:23
📌 BOJ 24480 알고리즘 수업 - 깊이 우선 탐색 2 💡 조건 N개의 정점과 M개의 간선으로 구성된 무방향 그래프(undirected graph)가 주어진다. 정점 번호는 1번부터 N번이고 모든 간선의 가중치는 1이다. 정점 R에서 시작하여 깊이 우선 탐색으로 노드를 방문할 경우 노드의 방문 순서를 출력하자. 깊이 우선 탐색 의사 코드는 다음과 같다. 인접 정점은 내림차순으로 방문한다. 첫째 줄에 정점의 수 N (5 ≤ N ≤ 100,000), 간선의 수 M (1 ≤ M ≤ 200,000), 시작 정점 R (1 ≤ R ≤ N)이 주어진다. 다음 M개 줄에 간선 정보 u v가 주어지며 정점 u와 정점 v의 가중치 1인 양방향 간선을 나타낸다. (1 ≤ u < v ≤ N, u ≠ v) 모든 간선의 (u..
-
[백준] 10707 수도요금 with PythonPS 2023. 4. 10. 17:05
📌 BOJ 10707 수도요금 💡 조건 JOI군이 살고 있는 지역에는 X사와 Y사, 두 개의 수도회사가 있다. 두 회사의 수도요금은 한 달간 수도의 사용량에 따라 (2)번과 같이 정해진다. X사 : 1리터당 A엔. Y사 : 기본요금은 B엔이고, 사용량이 C리터 이하라면 요금은 기본요금만 청구된다. 용량이 C리터가 넘었을 경우 기본요금 B엔에 더해서 추가요금이 붙는다. 추가요금은 사용량이 C리터를 넘었을 경우 1리터를 넘었을 때마다 D엔이다. JOI군의 집에서 한 달간 쓰는 수도의 양은 P리터이다. 수도요금이 최대한 싸게 되도록 수도회사를 고를 때, JOI군의 집의 1달간 수도요금을 구하여라. 입력되는 정수 A,B,C,D,P는 전부 1 이상 10000 이하이다. 수학, 사칙연산 유형의 문제 🔖 예제 및 실..
-
[백준] 10025 게으른 백곰 with PythonPS 2023. 4. 10. 14:07
📌 BOJ 10025 게으른 백곰 💡 조건 앨버트가 가장 적은 거리만 움직이고도 최대한 많은 얼음으로 더위를 식힐 수 있도록 도와주자. 우리 안은 1차원 배열로 생각하며, 총 N개의 얼음 양동이들이 xi좌표마다 놓여 있고 각 양동이 안에는 gi씩의 얼음이 들어 있다. (1 ≤ N ≤ 100000) (0 ≤ xi ≤ 1,000,000) (1 ≤ gi ≤ 10,000) 앨버트가 자리를 잡으면 그로부터 좌우로 K(1 ≤ K ≤ 2,000,000) 만큼 떨어진 양동이까지 닿을 수 있다. 앨버트는 양동이가 놓여 있는 자리에도 자리잡을 수 있다. 모든 얼음 양동이의 위치는 다르다. 앨버트가 최적의 자리를 골랐을 때 얼음의 합을 구하는 문제. 즉, 얼음들의 합의 최댓값을 구해야 한다. 첫 줄에 정수 N과 K가 들어온..