• 목록
  • 아래로
  • 위로
  • 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 970
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4646
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4479
886 카페대문 만들기 힘드네요 .. 공구테라스 20.11.26.16:24 103
885 사이트 들어가려는데 오류 2 image wikiowner 20.12.09.19:09 103
884 이거 서비스센터 가야 하는 부분인가요? 8 국내산라이츄 20.10.07.14:44 107
883 인증서 갱신이 안된 것 같네요.. 4 image Tilto_ 20.07.12.20:13 109
882 php 관련해서 질문 좀 여쭙겠습니다 image title: 대한민국 국기gimmepoint 20.11.23.20:50 109
881 [라이믹스] 스킨 설치가 안됩니다. 2 260578 20.12.31.08:43 110
880 단축키(핫키) 좀 알려주세요. 6 슬기 20.08.30.12:36 111
879 워드프레스 오류가 있습니다 6 국내산라이츄 20.09.29.23:55 112
878 우분투 20.04 cockpit 설치 안됨(해결) gunwook 22.04.01.22:20 113
877 포어스 호스팅 신청할 때 다른데서 도메인을 먼저 받아와야 하나요? 3 손가락개 20.09.11.12:28 114
876 Possible attack detected. This action has been logged. 패널접속하니 메세지가뜨네요 1 막시모 22.07.08.12:58 115
875 [CSS] 애니메이션 관련 4 260578 20.11.21.23:24 116
874 충전기에 전자제품을 연결했는데 작동이 안 되는 이유는 무엇일까요? 8 이니스프리 20.06.28.19:05 117
873 패널창 정보의 의미가 궁금합니다. 9 image GsusWeb 20.06.28.21:36 119
872 SSL 6 Apache 20.07.02.23:11 119
871 키보드 트레이 추천을 부탁드려요 ^^ 3 이니스프리 20.10.29.00:05 121
870 노트북 구매와 관련해서 질문 드려요! 6 이니스프리 20.09.22.10:14 123
869 도메인 개인정보 보호에 대해 질문합니다. 3 HighSpeed 21.01.12.19:24 124
868 PHP) Sandbox에서 실행한 결과와 실제 서버에서 구동되는게 다릅니다. 6 260578 20.05.28.09:11 125
867 Chrome와 Safari의 비밀번호 연동이 가능한가요? 10 갱생협스 20.06.06.21:24 126