• 목록
  • 아래로
  • 위로
  • 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 2206
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 5890
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4545
366 [역방향 프록시] 뭐가 문제인지 검토 부탁 드립니다 11 image xnview 18.06.19.23:03 1227
365 개인 서버를 내부 인트라넷에서만 사용할 수 있게 하려면 어떻게 해야 하나요? 6 image 제르엘 18.06.17.23:43 296
364 윈도우서버 2016은 [역방향 프록시] 설정이 안되나요 ? 9 image xnview 18.06.15.16:14 415
363 FTPS 프록시 프로그램이 있을까요? 3 네모 18.06.15.15:42 205
362 미디어위키 설치중 오루가 발생했니다 이는 왜 그런거죠? 6 image AA 18.06.10.16:21 189
361 개발자용 사이트 인가요? 5 image 참비 18.06.10.15:36 348
360 계속 사용중이던 네트워크 공유 폴더가 갑자기 액세스 불가라고 뜹니다. 6 image 장윤서 18.06.07.16:55 34359
359 웹호스팅 서비스를 열려면 회선이나 법적절차가 따로필요한가요? 3 루콤스튜디오.. 18.06.04.21:37 190
358 Mac OS 80포트 여는방법 12 루콤스튜디오.. 18.06.03.21:13 857
357 [역방향프록시] windows server 2016 - Application Request Routing 2 image xnview 18.05.30.22:51 1235
356 (해결함) 사이트주소표시및 SSL 관련 질문 드립니다.(XE CMS사용) 3 image 자뻑보이 18.05.28.18:58 234
355 Youtube Music Engine 외부차트 가져오기 7 title: 에그joyful 18.05.27.19:48 377
354 이건 도덕책 무슨 오류인가요 ㄷㄷ 5 image 국내산라이츄 18.05.23.01:38 319
353 Hyper-V 대역폭 QoS 관련 1 Ilhan 18.05.21.19:55 237
352 스레드식 게시판 프로그램좀 추천해주세요. 4 260578 18.05.20.19:53 263
351 일체형 PC 속도 향상법 3 260578 18.05.19.15:59 971
350 도메인 메일 어디써야되나요? 10 Ilhan 18.05.19.11:20 323
349 이 정도 디자인이면 괜찮으려나요? 9 image 제르엘 18.05.18.23:30 210
348 이거 이런 뜻인가요 4 image 탄소 18.05.16.18:44 195
347 Xpenology 설치에 대해서 6 뉴비 18.05.16.17:24 357