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

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

신고

"초보님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [1차 해결 및 추가] 서버 접속 불가 문제 안내 4 updated 마스터 21시간 전15:22 78
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 2231
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 5909
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4573
386 도메인 접속문제 해결? 1 RonnieJ 16.10.18.06:44 307
385 안녕하세요 git을 사용해서 라이믹스를 설치하려고 하고 있습니다 ㅎㅎ 6 그라페인 20.07.08.14:57 307
384 다른 서버에 있는 CSV 파일을 불러오는 방법에 대해 여쭤봅니다 ^^ 9 image 이니스프리 18.10.24.18:02 308
383 코딩 컨벤션상 전역변수와 지역변수의 변수명을 동일하게 하는 것이 무방한가요? 4 이니스프리 19.11.17.18:09 309
382 Plus Hosting 1Gbytes 기본 제공 도메인 이름 알려주세요 1 Seia 17.02.06.01:21 312
381 근데 물어보게 있는데여.. 서브도메인 이랑 Vhost용은 뭘차이? 2 Hanam09 17.07.01.15:50 312
380 신서버에 서비스를 신청헸는데, 새로운 도메인에 접속이 되지 않아요. 1 워시퍼 16.12.26.22:40 313
379 xe 설치 1 맛수타 17.08.24.11:37 313
378 우분투 스토어를 통한 업데이트가 안 됩니다.. 4 image 국내산라이츄 17.09.26.00:45 313
377 히어로 무비 추천 부탁드립니다! 30 이니스프리 19.10.29.13:48 313
376 [해결][CURL/PHP] 스터디포어스서버에서의 PHP CURL에 대한 특정 서버의 잘못된 응답에 대하여 3 Hanam09 20.02.27.15:36 313
375 이용중인 도메인 연결 어떻게 하나요? 1 image 참비 23.07.29.15:14 313
374 머신러닝 오프라인 강좌를 수강해보려고 하는데요~ 이거 괜찮을까요? 5 image 이니스프리 19.12.11.03:12 314
373 CSS 이미지 창크기에 맞추는 방법 질문! 2 마당쇠15 20.05.31.10:47 314
372 이거 여백은 어떻게 해야하나요.. 1 image Ursus 16.08.29.17:30 315
371 이슈-동영상에 유튜브 동영상은 어떻게 올리나요? 4 국내산라이츄 17.08.02.00:36 315
370 Angular JS가 도데체 뭔지 아직 이해가 안가요.... 15 Seia 17.10.02.18:06 315
369 이 부품들로 개인 서버 구축 가능할까요? 17 제르엘 18.02.25.16:29 315
368 XPEnology VMDK 파일 용량 오버 문제 12 image xnview 18.07.06.14:03 315
367 드롭박스의 상태가 이상합니다. 5 국내산라이츄 17.10.15.21:05 316