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

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 1150
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 7869
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4811
486 또다시 WWW 관련하여 6 갱생협스 18.12.05.23:13 231
485 다음 api 사용하려고 뒤적거리다보니 curl_init, curl_easy_init 비교 7 홀민 18.12.05.09:59 253
484 콘서트 가보신 분 있으신가요? 5 260578 18.12.04.23:45 225
483 사이트 정보 등록 관련 5 title: 에그joyful 18.12.01.20:17 218
482 WP에서 스팸....? 11 image 갱생협스 18.11.30.13:12 300
481 스마트폰 연락처 관리를 어떻게 하시나요? 8 이니스프리 18.11.29.18:24 573
480 공유폴더가 안되는데 왜 안되는지를 모르겠습니다. 3 image calm 18.11.27.23:47 287
479 [PHP] nl2br 함수 관련 문제 재발 1 260578 18.11.26.18:10 642
478 스마트 동기화가 가능한 클라우드 추천 부탁드려요~! 2 이니스프리 18.11.24.05:27 628
477 스포어 서버에서는 JQuery를 사용할 수 있나요? 4 260578 18.11.23.08:20 257
476 [PHP] nl2br 함수 관련 3 260578 18.11.21.20:28 286
475 원래 .co.kr 도메인과 .kr 도메인을 따로 따로 구입해야 하는건가요? 7 NoYeah 18.11.20.16:39 239
474 노트북이 너무 시끄럽습니다. 10 image 네모 18.11.19.23:50 351
473 안녕하세요. AJAX로 페이지 긁어오는데에 보안오류가 생겼는데 조언을 구하고자 합니다. 6 Hanam09 18.11.19.23:35 221
472 웹페이지의 상단 메뉴를 고정하는 플러그인에 관하여 질문 드립니다 4 이니스프리 18.11.19.21:14 431
471 mysql에서 select * from 테이블.... 2 홀민 18.11.19.07:52 214
470 네이버 카페 대문에 입력할 이미지맵이 적용 안됩니다.ㅠㅜㅠㅜ file 빙그래 18.11.16.22:09 664
469 codepen은 저작권이 앖나요?? 9 title: 에그joyful 18.11.16.07:55 2114
468 sfu호스팅 결제오류..? 2 image nx_OP 18.11.15.21:38 202
467 라이믹스 로그인 버튼 3 Nginx 18.11.15.17:51 226