• 목록
  • 아래로
  • 위로
  • 5
  • 초보
  • 조회 수 236

n = int(input()) #입력받을 숫자의 개수

li = [int(input()) for _ in range(n)] #숫자입력받기

count = 0 #제곱수의 개수

for i in range(0, n): #n로 반복중

  for x in range(1, n+1): #반복

    if li[i] == int(x ** 0.5) ** 2: #조건문

      count += 1 #카운트

print(count) #출력

입력받은 리스트안에 몇개 완전제곱수(1, 4, 9, 16...)가 있는지 출력하는 코드를 만들고 싶습니다.

여기서 5, 1, 35, 25, 55, 44를 입력하면 2가 출력돼야하는데 3이 출력됩니다.

도와주시면 감사합니다.

포함 2명이 추천

추천인 2

댓글 5

초보 작성자
https://level.goorm.io/exam/43152/%EC%99%84%EC%A0%84-%EC%A0%9C%EA%B3%B1%EC%88%98/quiz/1
comment menu
2021.02.17. 10:24

신고

"초보님의 댓글"

이 댓글을 신고 하시겠습니까?

초보 작성자
여기서 문제를 풀고 있었습니다.
comment menu
2021.02.17. 10:25

신고

"초보님의 댓글"

이 댓글을 신고 하시겠습니까?

joyfuI
+1
직접 중간값들을 찍어보면 금방 찾으실 수 있으실 겁니다.
일단 int(x ** 0.5) ** 2 이 부분에 문제가 있구요.
추가적으로 최적화할 부분이 있다면 카운트 이후 루프를 탈출해서 불필요한 연산을 줄일 수 있겠습니다.
comment menu
2021.02.17. 11:13

신고

"joyfuI님의 댓글"

이 댓글을 신고 하시겠습니까?

초보 작성자

n = int(input()) #입력받을 숫자의 개수
count = 0 #제곱수의 개수
for i in range(0, n): #n로 반복중
  number = int(input())
for x in range(1, n+1): #반복
  if number / x == x: #조건문
  count += 1 #카운트
print(count) #출력


이 코드는 5, 1, 35, 25, 55, 44를입력하면 2가 출력되지만
3, 8, 1, 49를 입력하면 3대신 1이출력됩니다.

comment menu
2021.02.18. 08:00

신고

"초보님의 댓글"

이 댓글을 신고 하시겠습니까?

초보 작성자

n = int(input()) #입력받을 숫자의 개수
li = [int(input()) for _ in range(n)] #숫자입력받기
count = 0 #제곱수의 개수
for i in range(0, n): #n로 반복중
  for x in range(1, li[i]+1): #반복
    if li[i] == x * x: #조건문
      count += 1 #카운트
      break #스킵
print(count) #출력

 

이렇게하면되는거였네요ㅎㅎ

감사합니다!

comment menu
2021.02.18. 08:13

신고

"초보님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 924
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4593
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4479
386 모니터의 피봇(pivot)과 관련하여 질문 드립니다 8 이니스프리 19.04.10.13:59 241
385 라떼판다 전원 설계가 막막해요 ㅠㅠ 2 나는야초보 19.04.10.22:52 893
384 사파리브라우저 mp3파일 재생관련 문의드립니다. 11 자뻑보이 19.04.15.15:26 589
383 프로세서 간의 성능 비교에 대해 질문 드립니다 ^^ 4 이니스프리 19.04.17.18:31 203
382 디시인사이드 푸쉬알림 앱 추천 부탁드립니다 ^^ 3 이니스프리 19.04.18.23:35 1560
381 특정 키워드의 메일만 푸시알림을 받는 방법이 있을까요? 4 이니스프리 19.04.19.17:28 492
380 system32 폴더 내 파일의 삭제 권한과 관련된 질문을 드립니다 ㅠㅠ 11 이니스프리 19.04.20.13:19 1332
379 호스팅 패널의 webdev는 뭐하는것인가요? 1 샹키 19.04.20.17:07 247
378 인텔 NUC를 이용한 홈 서버 구성에 대해 질문 드립니다 ^^ 9 이니스프리 19.04.21.08:48 1273
377 안드로이드와 맥북을 같이 잘 사용할 방법이 있을까요? 2 네모 19.04.21.21:56 225
376 구글 웹마스터 사이트맵 가져올 수 없음 문제와 스포터 호스팅 Lua 스크립트 관련 질문 드립니다 12 image Gokoro 19.04.23.23:46 1297
375 케이블에도 에이징이 필요한가요..? 12 갱생협스 19.04.26.22:43 647
374 미디어위키 리버티 스킨 상하단 아이콘 지우기관련,, 3 어렵다어려워 19.04.30.16:12 257
373 DB를 연결했는데 왜 데이터를 가져오질 모태... image 국내산라이츄 19.04.30.17:08 235
372 DB를 연결했고 뭔가 가져오는 것 같은데 표시를 못 합니다... 3 image 국내산라이츄 19.05.02.09:37 231
371 SQL에서는 날짜 형식을 못 바꾸나요? 2 image 국내산라이츄 19.05.02.18:07 209
370 아이폰/아이패드 충전기 발열 관련 질문 드립니다 9 image 이니스프리 19.05.02.22:52 11117
369 무선 키보드 마우스 세트 추천 부탁드립니다. 14 갱생협스 19.05.03.18:18 337
368 윈도우 환경에서 PHP 개발환경을 어떻게 구축하는 것이 효율적일까요? 7 네모 19.05.03.20:23 241
367 워드프레스 모바일앱<-->서버간 통신오류? 6 image 갱생협스 19.05.04.20:32 293