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

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이 출력됩니다.

도와주시면 감사합니다.

wikiowner님 포함 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

신고

"초보님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [중요 공지] 호스팅 이용 수칙이 변경됩니다. 11 마스터 22.03.06.23:55 1442
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4237
871 갑자기 소유한 모든 Freenom 도메인이 작동을 안하네요. 6 Yell 21.04.29.09:55 326
870 라즈베리파이로 홈서버 가능할까요? 6 토리토 21.04.29.09:40 222
869 호스팅 환경에서 php로 소켓서버를 만들수 있나요? 5 joyfuI 21.04.27.13:54 203
868 원격제어와 스트리밍을 막는 프로그램? 1 hidriqi 21.04.24.03:32 151
867 그누보드 설치시 오류 관련 질문 드리겠습니다. 4 image asdf1234 21.04.21.14:32 130
866 Let's Encrypt SSL 인증서 갱신이 안됩니다. 1 HighSpeed 21.04.16.17:29 128
865 스포어에서 DB 외부 접속의 허용 여부를 어떻게 설정하는가요? ㅠㅠ 3 이니스프리 21.04.02.22:08 185
864 모바일과 윈도우에서 잘 작동하는 note taking 앱이 있을까요? 6 이니스프리 21.03.28.22:58 186
863 접근 가능한 링크가 없는 html 파일의 내용을 불러오는 방법이 있을까요? 4 image title: 크롬NUBE 21.03.23.20:35 154
862 개발자밑 프로그래밍 할줄 아시는분들께 궁금한 점이 있습니다. 4 image 자뻑보이 21.03.18.20:21 149
861 사이트를 오프라인에서 열람할 수 있는 방법에 대해 질문 드려요! 4 이니스프리 21.03.16.20:45 208
860 Qnap nas 관리자 페이지 접속 문의드립니다. 5 자뻑보이 21.03.11.20:25 148
859 여러분들은 위키 업그레이드를 어떻게 하시나요? 12 가온이 21.03.07.20:53 167
858 카카오 로그인 api처럼 위챗 로그인 api 사용해보신분 계신가요? asdf1234 21.03.03.16:04 103
857 사설 IP에 도메인 연결하기 11 네모 21.02.28.23:10 673
856 포트 포워딩 질문있습니다. 10 image asdf1234 21.02.24.16:56 134
855 동영상 썸네일 만드는 것 관련하여 질문 드립니다. 2 이니스프리 21.02.20.14:51 125
854 별로중요한건아니지만 궁금중이 생김 10 초보 21.02.19.09:54 210
[파이썬]완전제곱수 5 초보 21.02.17.10:23 196
852 미디어위키 하;;;; 9 wikiowner 21.02.16.13:37 149