6/ 21 파이썬 공부
1. 백준 23813 회전
정수 N이 주어질 때, N의 일의 자리 숫자를 떼서 제일 앞자리 왼쪽에 이어 붙힌 것을 N의 회전이라고 정의하자.
예를 들어, 12345의 회전은 51234가 된다. 3의 회전은 3이 된다.
이렇게 회전을 계속하다 보면 원래 N으로 돌아오게 된다.
원래 N으로 돌아올 때까지의 N을 회전하여 나온 수를 모두 더한 값을 출력하시오.
모든 자리의 숫자가 다른 정수 N이 주어진다. 각 자리의 숫자는 1이상이고, 1 <= N <= 987,654,321이다.
N의 회전 결과들을 모두 더한 값을 출력한다.
단, 결과값을 32비트 정수형으로 처리할 수 없을 수 있음에 유의하라.
>>>코드
result = 0
n = input()
for i in range(len(n)):
result += int(n)
n = n[-1] + n[:len(n)-1]
print(result)
문자열은 그냥 +가 된다는 사실!
2. 백준 3062 수 뒤집기
수 124를 뒤집으면 421이 되고 이 두 수를 합하면 545가 된다.
124와 같이 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되는지 테스트 하는 프로그램을 작성하시오.
입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다.
각 테스트 케이스는 한 줄에 하나의 정수 N(10 ≤ N ≤ 100000)이 주어진다.
각 테스트 케이스에 대해서 원래 수와 뒤집은 수를 합한 수가 좌우 대칭이 되면 YES를 아니면 NO를 한 줄에 하나씩 출력한다.
>>>코드
for _ in range(int(input())):
n = input()
r = str(int(n) + int(n[::-1]))
if r == r[::-1]:
print('YES')
else:
print('NO')
3. 백준 2954 창영이의 일기장
창영이는 매일 밤 하루동안 일어난 일을 일기장에 남긴다.
일기장을 쓰면서 영어 공부도 같이 하기 위해서 영어로 일기를 쓴다.
또, 남들이 자신의 일기장을 보는 것을 막기 위해서 모음('a','e','i','o','u')의 다음에 'p'를 하나 쓰고,
그 모음을 하나 더 쓴다.
예를 들어, "kemija" 는 "kepemipijapa"가 되고, "paprika"는 "papapripikapa"가 된다.
창영이가 일기장에 작성한 문장이 하나 주어졌을 때, 원래 문장은 무엇인지 구하는 프로그램을 작성하시오.
첫째 줄에 알파벳 소문자와 공백으로만 이루어진 문장이 하나 주어진다.
모든 단어는 공백 하나로 구분되어져 있다. 문장의 길이는 최대 100이다.
첫째 줄에 창영이가 일기장에 작성한 문장을 원래 문장으로 바꾸어 출력한다.
>>>코드
vowel = ['a', 'e', 'i', 'o', 'u']
s = input()
i = 0
while i < len(s):
if s[i] in vowel:
print(s[i], end = '')
i += 3
else:
print(s[i], end = '')
i += 1
그냥 문자열에서 제거시 for in range() 문을 사용하면 index error가 발생하기 때문에 while 문을 사용해준다.
'백준 > 백준 파이썬' 카테고리의 다른 글
백준 파이썬 Today I Learn 2023.06.23 (0) | 2023.06.30 |
---|---|
백준 파이썬 Today I Learn 2023.06.22 (0) | 2023.06.29 |
백준 파이썬 Today I Learn 2023.06.20 (1) | 2023.06.27 |
백준 파이썬 Today I Learn 2023.06.19 (0) | 2023.06.26 |
백준 파이썬 Today I Learn 2023.06.18 (0) | 2023.06.26 |