• 목록
  • 아래로
  • 위로
  • 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 1010
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4685
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4482
386 php udp socket으로 struct 형태의 data를 보낼 수 있나요? 5 연우빠 18.07.20.15:58 217
385 이게 대체 뭐죠? 6 image 네모 18.07.19.15:56 194
384 윈도우10 공유폴더 설정이 안돼서 질문드립니다! 5 image 물질 18.07.17.03:33 354
383 VestaCP에서 roundcube 문제 해결 3 image Seia 18.07.14.19:43 198
382 갑자기 사운드카드를 못 잡는데 왜 이러는건가요? 2 image 국내산라이츄 18.07.11.21:46 187
381 우분투 부팅이 안되는데요 ㄷㄷ 3 image 국내산라이츄 18.07.11.20:38 181
380 네이버 카페 대문을 HTML로 제작해보려는데 너무 어렵네요. 6 image 도바킨 18.07.09.04:27 2801
379 레이아웃 유료로 파는건 법적 절차가 필요한가요? 5 title: 에그joyful 18.07.07.20:03 207
378 XPEnology VMDK 파일 용량 오버 문제 12 image xnview 18.07.06.14:03 315
377 질문합니다. 로그인설정을 바꾸고 싶네요~ 2 youngsik 18.07.05.11:12 154
376 XE 많이 안좋은가요?? 6 title: 에그joyful 18.07.04.19:57 187
375 MXexception (?) 오류가 뜹니다. 1 title: 맛스타의 자물쇠에듀 18.07.03.18:39 193
374 호스팅 FTP 계속 타임 아웃이 생깁니다..! 21 image BVC_Liper_Okbul 18.06.29.20:33 564
373 [가상화 네트워크] 사설IP 여러곳에서 80포트를 사용하고 싶습니다 18 image xnview 18.06.28.13:48 1271
372 [역방향 프록시] 뭐가 문제인지 도움 부탁 드립니다 ㅠㅠ 4 image xnview 18.06.27.22:35 922
371 안녕하세요 포트포워딩 관련 질문입니다(좀긴글) 7 image Licht 18.06.26.02:23 460
370 호스팅 서비스 바꾸기 4 title: 에그joyful 18.06.24.23:09 206
369 대구시 수돗물 발암물질 좀 도와주세요. 10 참비 18.06.22.10:55 223
368 [e-bay 물품구매질문] 6 image dongs 18.06.21.14:28 224
367 [역방향 프록시] 사이트 URL 이동 500에러 문의드립니다 6 image xnview 18.06.21.14:16 969