-
section2.8 뒤집은 소수알고리즘 2022. 10. 24. 23:39
N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 수를 출력하는 프로그램을 작성하세요. 예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910을 뒤집으면 19로 숫자화 해야 한다. 첫자리부터의 연속된 0은 무시한다. 뒤집는 함수인 def reverse(x)와 소수인지를 확인하는 함수 def isPrime(x)를 반드시 작성하 여 프로그래밍한다.
import sys sys.stdin = open("input.txt", "rt") n = int(input()) temp = '' nList = list(map(int, input().split())) print(nList) def reverse(x): for i in range(len(str(x))//2): temp = x[i] x[i] = x[-(i+1)] x[-(i+1)] = temp # TypeError: 'int' object is not subscriptable print(reverse(1234))
되게 자주 나오는 유형인데 풀 때마다 까먹는다
그리고 계속 typeerror가 나는데...
자바를 사용하다가 파이썬을 사용하려다 보니 헷갈린다
이래도 되나? 싶어서 생략을 많이 하고 일단 해보고 있는 중
import sys sys.stdin = open("input.txt", "rt") def reverse(x): res = 0 while x>0: t = x % 10 res = res*10 + t x = x // 10 return res def isPrime(x): if x == 1: return False for i in range(2, x//2+1): if x%i==0: return False else: return True n = int(input()) a = list(map(int, input().split())) for x in a: tmp = reverse(x) if isPrime(tmp): print(tmp, end=' ')
문자열 뒤집기를 생각해서 슬라이싱을 하려고 했는데 숫자는 res = res*10 + t 이것만 이용하면 되는 문제였다
# TypeError: 'int' object is not subscriptable여기서는 int는 인덱스를 갖지 않기 때문에 [i] 요소를 호출할 수 없다x가 int로 받았지만 str으로 변환해서 문제를 풀려고 했었다중간에 int였다가 str이였다가 왔다갔다하니까 헷갈렸다...그냥 다음부터는 정답처럼 코드를 짜야겠다728x90'알고리즘' 카테고리의 다른 글
section2.10 점수 계산 (1) 2022.10.25 section2.9 주사위 게임 (0) 2022.10.25 section2.7 소수(에라토스테네스 체) (0) 2022.10.24 section2.6 자릿수의 합 (0) 2022.10.22 section2.5 정다면체 (0) 2022.10.22