• 목록
  • 아래로
  • 위로
  • 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 1016
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4693
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4482
366 XPEnology VMDK 파일 용량 오버 문제 12 image xnview 18.07.06.14:03 315
365 맥북의 팬리스 여부가 정리된 웹페이지를 추천 부탁드립니다 ^^ 4 이니스프리 19.03.31.10:49 315
364 Cloudflare의 인증서 등록 3 우마루 16.10.08.18:06 317
363 SH 메모 오류 관련 ㅠㅠ 4 모니터 17.09.15.02:01 317
362 신서버는 연장시켜도 바로 반영이 안되는가요? 2 image title: 금메달 (30일)동방개념지국 17.02.13.14:09 319
361 기본 도메인 사용 4 기특한크리퍼 17.09.17.11:42 319
360 이건 도덕책 무슨 오류인가요 ㄷㄷ 5 image 국내산라이츄 18.05.23.01:38 319
359 호스팅 환경에서 php로 소켓서버를 만들수 있나요? 5 joyfuI 21.04.27.13:54 319
358 위키 연동법 3 맛수타 17.05.28.17:04 322
357 혹시 frame 태그로 php 삽입 가능한가요? 9 Seia 17.11.06.18:22 322
356 도메인 메일 어디써야되나요? 10 Ilhan 18.05.19.11:20 323
355 서비스 구매 후... 2 image title: 은메달도다 16.10.18.19:23 324
354 라즈베리파이로 홈서버 가능할까요? 6 토리토 21.04.29.09:40 324
353 [해결] 미디어위키에서 문단 목록 번호를 매길 수 있게 설정하는 방법 없을까요? 8 은하수 22.11.20.19:11 324
352 패널접속.. 2 하얀노트 17.09.06.10:46 325
351 미디어위키와 XE를 같이 사용할때 XE의 head,foot에 위키 스킨을 어떻게 입히죠? 3 경계인 17.05.21.20:37 326
350 공유폴더가 안됩니다 원인을 알고싶습니다.. 4 image calm 19.03.19.20:12 326
349 닌텐도 스위치 리듬게임 추천 부탁드려요~ ^-^ 6 이니스프리 21.08.05.21:04 326
348 xe를 설치할려고 하는데 도와주실 수 있으시나요? 8 image ryuko 16.10.15.16:19 327
347 호스팅 만료 후 연장에 관해 문의드립니다. 3 50knots 17.02.05.18:13 327