반응형
리뷰
딕셔너리와 에라토스테네스의 체로 풀이하였다.
문제 풀이
- a~Z범위의 알파벳을 키로 갖고 각 순서를 value로 갖는 딕셔너리를 초기화 해준다.
- 문자열을 입력 받고 각 문자를 딕셔너리와 비교하여 value의 합을 구한다.
- 점수가 나올 수 있는 최대값 보다 크게 배열을 1로 초기화 하고 소수의 경우 0으로 최신화 해준다.
- 배열의 점수 인덱스가 1이라면 소수 0이라면 소수가 아님을 출력해 준다.
참고 사항
없음
정답 코드
dic = {}
point = 1
for i in range(97, 123):
dic[chr(i)] = point
point += 1
for i in range(65, 91):
dic[chr(i)] = point
point += 1
s = input()
prime = 0
for char in s:
prime += dic[char]
dp = [1] * 1111
for i in range(2, int(1111 ** (1/2))):
if dp[i]:
for j in range(i * i, 1111, i):
dp[j] = 0
print("It is a prime word." if dp[prime] else "It is not a prime word.")
728x90
반응형
'알고리즘 공부 > 파이썬(Python)' 카테고리의 다른 글
백준 3040번 백설 공주와 일곱 난쟁이 파이썬 (0) | 2024.07.19 |
---|---|
백준 13549번 숨바꼭질 3 파이썬, C++ (0) | 2024.07.18 |
백준 1629번 곱셈 파이썬 (0) | 2024.07.17 |
백준 15663번 N과 M (9) 파이썬 (0) | 2024.07.17 |
백준 11725번 트리의 부모 찾기 파이썬 (0) | 2024.07.17 |