Python/백준 (BOJ)

[BOJ][B2]소수단어 - 2153

ㅋㅋ! 2025. 8. 22. 13:00

 

 

https://www.acmicpc.net/problem/2153

문제 전문은 링크 참조

문제가공

  1. 입력받은 알파벳을 숫자로 변환(a=1,b=2…z=26,A=27…Z=52)
  2. 숫자의 합이 소수인지 판별하여 출력

코드작성

  • 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