문자열
-
[백준] 5698 Tautogram with PythonPS 2022. 3. 16. 00:18
📌 BOJ 5698 Tautogram 💡 조건 Tautogram은 매우 특별한 형태의 두운법으로, 인접한 단어가 같은 글자로 시작하는 것을 말한다. 문장이 Tautogram이 되려면, 모든 단어가 같은 글자로 시작해야 한다. 선영이의 편지에 있는 문장이 주어졌을 때, Tautogram인지 아닌지 알아내는 프로그램을 작성하시오. 문장은 최대 50개의 단어로 이루어져 있으며, 공백으로 구분되어져 있다. 단어는 알파벳 대문자와 소문자로 이루어져 있고, 길이는 최대 20이다. 마지막 테스트 케이스의 다음 줄에는 '*'이 하나 주어진다. 입력으로 주어진 문장이 Tautogram이라면 'Y'를, 아니라면 'N'을 출력한다. 문자열 유형의 문제 🖥 소스 코드 from sys..
-
[백준] 1855 암호 with PythonPS 2022. 3. 1. 22:42
📌 BOJ 1855 암호 💡 조건 먼저 암호화 할 문자열을 1,1부터 위에서 아래 순서대로 채운다. 그리고 가장 밑의 행을 채운 후에는 오른쪽 열에서 다시 같은 과정을 반복한다. 암호화 된 문자열과 몇 개의 열로 암호화를 하였는지 주어져 있을 때 원래의 문자열을 구하는 프로그램을 작성하는 문제. 열의 개수 K(1 ≤ K ≤ 20)가 주어진다. 두 번째 줄에는 암호화 된 문자열(모두 영소문자)이 주어진다. (문자열의 길이는 200 이하이며 K의 배수이다.) 구현, 문자열 유형의 문제 🖥 소스 코드 from sys import stdin n = int(stdin.readline()) s = stdin.readline().rstrip() arr = [] for i in range(0, len(s), n): a..
-
[백준] 14248 점프 점프 with PythonPS 2022. 2. 10. 17:37
📌 BOJ 14248 점프 점프 💡 조건 돌다리의 돌 개수 n이 주어진다.(1≤n≤100,000) 그 위치에서 점프할 수 있는 거리 Ai (1≤Ai≤100,000) 현재위치에서 다른 돌을 적절히 밟아 해당하는 위치로 이동이 가능하다고 할 때, 영우가 방문 가능한 돌들의 개수를 구하는 문제. 탐색 알고리즘유형의 문제 🖥 소스 코드 from sys import stdin from collections import deque n = int(stdin.readline()) arr = [0] + list(map(int, stdin.readline().split())) graph = [[] for _ in range(n + 1)] s = int(stdin.readline()) for i in range(1, n +..
-
[백준] 11655 ROT13 with PythonPS 2022. 2. 10. 00:18
📌 BOJ 11655 ROT13 💡 조건 ROT13은 카이사르 암호의 일종으로 영어 알파벳을 13글자씩 밀어서 만든다. "Baekjoon Online Judge"를 ROT13으로 암호화하면 "Onrxwbba Bayvar Whqtr"가 된다. ROT13으로 암호화한 내용을 원래 내용으로 바꾸려면 암호화한 문자열을 다시 ROT13하면 된다. S를 ROT13으로 암호화한 내용을 출력하는 문제 구현, 문자열유형의 문제 🖥 소스 코드 from sys import stdin for i in list(stdin.readline().rstrip()): if i == ' ': print(' ', end='') elif i.isnumeric(): print(i, end='..
-
[백준] 9933 민균이의 비밀번호 with PythonPS 2022. 2. 2. 01:06
📌 BOJ 9933 민균이의 비밀번호 💡 조건 민균이의 비밀번호가 "tulipan"인 경우에 목록에는 "napilut"도 존재해야 한다. 민균이의 파일에 적혀있는 단어가 모두 주어졌을 때, 비밀번호의 길이와 가운데 글자를 출력하는 프로그램을 작성하라. 단어의 수 N (2 ≤ N ≤ 100)이 주어진다. 단어는 알파벳 소문자로만 이루어져 있으며, 길이는 2보다 크고 14보다 작은 홀수이다. 구현, 문자열 유형의 문제 🖥 소스 코드 from sys import stdin n = int(stdin.readline()) data = [] for _ in range(n): data.append(list(stdin.readline().rstrip())) def solve(): for i in range(n): te..
-
[백준] 1515 수 이어 쓰기 with PythonPS 2021. 12. 12. 17:07
📌 BOJ 1515 수 이어 쓰기 💡 조건 1부터 N까지 모든 수를 차례대로 공백없이 한 줄에 다 썼다. 다솜이가 숫자의 일부를 지웠고, 지워지기 전의 숫자를 다시 쓰려고 하니 N이 기억나지 않는다. 남은 수를 이어 붙인 수가 주어질 경우, N의 최솟값을 구하는 문제. 일부 숫자를 지우고 남은 수를 이어붙인 수가 주어지며, 이 수는 최대 3000자리. 구현, 문자열, 브루트포스 알고리즘 유형의 문제 🖥 소스 코드 from sys import stdin data = stdin.readline().rstrip() s, i = '', 1 def check(s): t = list(s) k = list(data) while 1: if len(t) < len(data): return ' ..