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

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

신고

"초보님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 시스템 점검 작업 완료 안내 10 마스터 24.09.05.16:25 762
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 7648
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4801
566 27년평생 이런 경우는 또 처음이네요;; (li태그 관련) 8 국내산라이츄 17.09.11.11:48 258
565 에.. 서명이 어디갔지... 1 image 260578 17.12.04.14:57 258
564 ftp 계정명 질문 20 image STULAB 18.07.24.16:10 258
563 이 파이썬 강좌를 수강하는 것은 어떨지 여쭤봅니다 ^^ 6 이니스프리 20.01.31.12:43 258
562 스터디포어스에서 VisualEditor 사용이 가능하나요? 2 입체그림 20.02.12.10:42 258
561 트레이 아이콘 정리하는 프로그램이 있을까요? 2 image 네모 18.05.09.21:49 259
560 호스팅패널에서 서브도메인 사용하시는 분 계신가요? 2 joyfuI 19.08.28.18:13 259
559 TP-LINK 무선 안테나를 잃어버렸는데 대체제가 있을까요?? 10 이니스프리 20.05.15.23:02 259
558 확장자 HTML 파일에서 PHP 사용하기? 4 GsusWeb 20.06.29.18:09 259
557 질문1 - 기능에 대한 궁금증이 있습니다. 6 image JAVA 17.11.11.19:56 260
556 https 에서 http 불러올수있는 방법이 뭐가있을까요? 8 슬기 18.10.28.01:20 260
555 VPS 웹서버 설치 후 보안을 위해 추가로 해야되는 조치에는 어떤 것이 있을까요?? 6 이니스프리 20.03.13.22:46 260
554 리눅스에서 랜섬웨어 감염 원인이 무엇일까요? 14 NoYeah 19.11.08.17:33 261
553 핸드폰 유심이 이상해요. 7 슬기 20.06.01.19:18 261
552 SSL문제.. 10 Hanam09 17.06.18.18:39 262
551 TXT레코드 관련 도와주세[요! 7 image AA 19.02.14.23:21 262
550 원룸 을 월세로 알아보는대.. 8 핫슈 20.05.11.19:20 262
549 사이트를 오프라인에서 열람할 수 있는 방법에 대해 질문 드려요! 4 이니스프리 21.03.16.20:45 262
548 혹시 파이어베이스 사용하고 계시는 분 있으실까요? 공부에 도움될 만한 개발자 문서가 따로 있을까요? 3 제목학원장 22.01.07.13:57 263
547 변수를 앞에다가 위치시켰는데 500 에러가 뜹니다.. 5 260578 18.01.10.13:10 264