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

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

신고

"초보님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [중요공지] 추석 맞이 서버 업데이트 안내 5 마스터 25.10.09.02:20 56731
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 7 마스터 23.01.14.02:23 349457
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 13032
852 별로중요한건아니지만 궁금중이 생김 10 초보 21.02.19.09:54 924
[파이썬]완전제곱수 5 초보 21.02.17.10:23 1043
850 미디어위키 하;;;; 9 wikiowner 21.02.16.13:37 1174
849 미디어위키에 루아 소프트웨어를 깔아야 하는데 어디서 깔면 되나요 2 image wikiowner 21.02.15.09:50 727
848 마스터님! 3 citen 21.02.14.12:45 707
847 미디어위키 오류: Lua 오류: 내부 오류: 인터프리터가 127 상태로 종료했습니다 2 wikiowner 21.02.14.11:31 1056
846 커뮤니티 사이트에서 모바일 접속시 Rich-Text 에디터를 사용하지 않는 것이 더 좋을까요? 6 이니스프리 21.02.13.23:19 767
845 도메인 연결은 어떻게 하나요 1 파이리 21.02.09.14:22 694
844 내 포인트는 어디서 확인하나요? 3 파이리 21.02.08.11:58 709
843 사이트 정보 등록글 링크가 뭐죠..? 2 파이리 21.02.07.20:11 680
842 미디어위키 SSH 업데이트 4 wikiowner 21.02.01.13:08 681
841 머신러닝 용도로 노트북을 구매하려고 하는데 MSI 게이밍 노트북도 괜찮을까요? 12 이니스프리 21.01.31.22:26 1000
840 최근에 혹시 phpmyadmin 주소가 바뀌었나요? 2 막시모 21.01.28.17:42 690
839 [수강신청] Java 개론 강좌를 수강해도 괜찮을까요?? 9 image 이니스프리 21.01.23.22:30 721
838 php 1 wikiowner 21.01.22.11:10 728
837 예)www.123.com > 123.com리디렉트 질문 1 image HighSpeed 21.01.21.17:27 647
836 The lua binary is not executable 문구 1 wikiowner 21.01.20.13:17 695
835 가비아에서 www 붙이지 않고 접속하게 하는 방법 질문합니다. 2 HighSpeed 21.01.15.21:58 663
834 가비아 도메인 스터디 포 어스 연결되나요? 1 HighSpeed 21.01.15.17:28 725
833 도메인 개인정보 보호에 대해 질문합니다. 3 HighSpeed 21.01.12.19:24 708