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

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

신고

"초보님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [1차 해결 및 추가] 서버 접속 불가 문제 안내 14 마스터 24.06.20.15:22 909
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 2873
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 6632
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4719
426 [파이썬] 롯데백화점 크롤링과 관련하여 질문을 드립니다 2 image 이니스프리 19.12.04.21:56 270
425 창 크기에 따라서 표의 크기가 달라지는 태그는 없나요? 6 image 국내산라이츄 19.08.05.17:41 270
424 데이터베이스 연결.. 제발 도와주세요 ㅠ.. 2 준그루 17.08.10.22:50 270
423 워드프레스 페이지 안의 자바스크립트가 동작하지 않습니다 1 image 하이빅스비 23.05.05.19:35 269
422 [미디어위키] 비밀번호 재설정 (SMTP) 기능이 작동하지 않음 1 260578 18.03.03.19:37 269
[파이썬]완전제곱수 5 초보 21.02.17.10:23 268
420 그누보드용 회원차단 크롬 확장프로그램을 만들어보려는데요~ ^-^ 7 이니스프리 20.03.24.23:53 268
419 라엘 님의 이미지 캐시 서버 구축하기와 관련하여 구체적인 방법을 여쭤봅니다 4 이니스프리 19.01.27.13:59 267
418 500 오류 2 맛수타 17.06.09.05:59 267
417 미디어위키 리버티 스킨 상하단 아이콘 지우기관련,, 3 어렵다어려워 19.04.30.16:12 266
416 [PHP] nl2br 함수 관련 3 260578 18.11.21.20:28 266
415 으앜! 살려주세요 7 title: 도밥위키!Dobob 18.01.20.19:22 266
414 가로줄이 작동하지않습니다. 7 260578 17.12.02.22:50 266
413 [완전긴급] 블루투스 헤드셋이 이상합니다. 4 국내산라이츄 17.10.27.17:04 266
412 리버티스킨 목차 버튼 삭제 3 image 260578 17.12.04.16:46 265
411 VPS에서 홈서버의 네트워크 접속 이상 여부를 확인하는 방법이 있을까요? 6 이니스프리 19.10.15.01:26 264
410 Cloudflare ssl 사용하려면 패널에서 따로 해줘야 할 것이 있나요? 2 참빛바다 18.01.12.11:57 264
409 부트스트랩 모달을 사용하면 모바일 환경에서 문제의 소지가 있을까요?? 2 이니스프리 19.05.15.22:26 262
408 신서버 패널 점검중인가요? 1 title: 도밥위키!Dobob 17.01.10.23:08 262
407 구글 광고를 등록하려고하는데.. 8 image 막시모 19.06.26.09:02 261