
https://www.acmicpc.net/problem/2153
문제 전문은 링크 참조
문제가공
- 입력받은 알파벳을 숫자로 변환(a=1,b=2…z=26,A=27…Z=52)
- 숫자의 합이 소수인지 판별하여 출력
코드작성
- def GetNum(c): 아스키 코드를 이용하여 숫자를 구별한다
- def isPrime(n): 숫자의 1/2 제곱까지의 약수의 개수를 구하고, 약수 존재 유무에 따라 소수 판별
def GetNum(c):
n = ord(c)
minus_v = 96 if n>90 else 38
return n-minus_v
def isPrime(n):
arr =[]
for i in range(2,int(n**0.5)+1):
if n % i ==0:
arr.append(i)
return True if len(arr)==0 else False
s = input()
sum_v = sum([GetNum(c) for c in s])
if isPrime(sum_v):
print('It is a prime word.')
else:
print('It is not a prime word.')
'Python > 백준 (BOJ)' 카테고리의 다른 글
| [BOJ][B2]시그마 - 2355 (2) | 2025.08.24 |
|---|---|
| [BOJ][B2]이어 쓰기 3- 2154 (0) | 2025.08.23 |
| [BOJ][B2]숫자 놀이 - 2145 (0) | 2025.08.21 |
| [BOJ][B2]나는 너가 살아온 날을 알고 있다 - 2139 (0) | 2025.08.20 |
| [BOJ][B2]자기복제수 - 2028 (0) | 2025.08.19 |