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

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 2200
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 5881
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4541
526 하천 복개 공사가 서버에 영향을 미칠까요? 4 image 이니스프리 19.02.09.22:42 220
525 미국 간편식 추천 부탁드립니다 14 이니스프리 19.01.29.10:42 332
524 라엘 님의 이미지 캐시 서버 구축하기와 관련하여 구체적인 방법을 여쭤봅니다 4 이니스프리 19.01.27.13:59 265
523 일본어 '도키도키'의 뜻을 어떻게 해석해야 하나요? 11 이니스프리 19.01.26.19:16 2764
522 아이폰8+ 네비 사용시 발열(?) 문제에 대한 해결책을 여쭤봅니다 10 이니스프리 19.01.26.18:25 1194
521 파이썬 공부하다 모르는 부분이 있습니다. 14 NoYeah 19.01.26.17:07 460
520 trumbowyg 에디터를 그누보드 아미나빌더에 삽입중입니다. 10 홀민 19.01.25.00:38 266
519 PHP 순서 매기기 3 title: 에그joyful 19.01.23.22:21 256
518 세션연동부분에 대하여 도움이 필요합니다. 2 Hanam09 19.01.21.17:18 211
517 Input submit 버튼 2 260578 19.01.20.18:44 214
516 x-y넷에서 내 웹사이트에서 트래픽 사용 현황을 볼 수 있는 php소스가 있었습니다 2 없음 19.01.20.17:46 195
515 POST 데이터가 보내지지 않습니다 5 260578 19.01.20.13:45 214
514 도메인 포워딩이 제대로 이루어지지 않습니다. 4 image 제르엘 19.01.20.01:28 250
513 게시판 중복확인 만들다가 너무 허탈해서 올려봅니다 5 260578 19.01.19.19:29 253
512 사이트 정보 등록 2 title: 크롬NUBE 19.01.19.16:11 194
511 PHP잘하시는분 계신가요...? 4 title: 에그joyful 19.01.17.23:22 198
510 비번을 변경해야하는데 도와주세요 스포어 비번이요 1 더딘 19.01.16.19:46 195
509 giphy, gfycat 등 사이트가 일부 브라우저 또는 기기에서 문제가 있나요? 4 이니스프리 19.01.15.16:02 476
508 음 제 블로그가 증발한건가요...? 21 갱생협스 19.01.13.22:50 270
507 미디어플렛폼 vs 커뮤니티 55 title: 에그joyful 19.01.13.15:55 996