playXP

서브 메뉴

Page. 1 / 12502 [내 메뉴에 추가]
글쓰기
작성자 아이콘 와이즈댄
작성일 2021-09-30 20:54:03 KST 조회 507
제목
파이썬 하실 수 있는 분 긴급하게 질문이요 ㅜㅜ

회사에서 최근에 파이썬 공부를 시작한 직장인인데 12:00까지 제출해야 하는 과제가 있는데

2문제를 도저히 풀 수가 없어서 여쭤봅니다.

 

Q1. 1~10,000까지 숫자를 나열하고 8이라는 숫자가 몇 개인지 찾아보시오.

       예시) 8898에서 8은 총 4개임

for i in range(10001):

    a.append(i)

print(a)

 

count_8 = a.count(8) 

print(count_8)

 

이렇게 하니깐 8이 포함된 숫자가 아니라 처음에 나오는 8만 세지는데요.

리스트의 각 요소들을 다 분할해서 count 함수를 써야 하는 듯 싶은데 분할하는 법을 모르겠네요....;;

 

Q2. 1부터 N까지의 "합의 제곱"과 "제곱의 합"의 차이를 출력합니다.

       예시) 3을 변수로 입력 시, 

               (1+2+3)제곱 - (1제곱 + 2제곱 + 3제곱)

               = (6)제곱 - (1+4+9) = 36 - 14 = 22

 

강의를 제대로 보았는데 좀 많이 꼬아서 문제를 내다보니 해당 문제를 풀지 못하면 과락이다보니 급하게 이곳저곳 커뮤니티 글을 남기고 있네요 ㅜ

지속적인 허위 신고시 신고자가 제재를 받을 수 있습니다.
신고 사유를 입력하십시오:

아이콘 Frisbee (2021-09-30 20:57:27 KST)
0↑ ↓0
센스 이미지
8898이 왜 8이 4개에요?
아이콘 와이즈댄 (2021-09-30 21:00:12 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
아 8이 3개네요...제가 오타냈나봐요
아이콘 Frisbee (2021-09-30 21:05:23 KST)
0↑ ↓0
센스 이미지
1번은 숫자를 문자로 변환해서 (str)
그 문자를 각 글자별로 반복문을 돌려서 8을 찾으시면 될듯합니다.
아이콘 와이즈댄 (2021-09-30 21:07:35 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
제가 진짜 강의 하루에 15시간씩 2주 들었는데 저런 문제가 나와서 어떤 이야기인지 감을 못잡겠어요 ㅜ
아이콘 와이즈댄 (2021-09-30 21:10:07 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
for i in range(10001):
a.append(i)
a = Str(a)

이렇게 하면 되는 것인가요?
아이콘 Frisbee (2021-09-30 21:15:54 KST)
0↑ ↓0
센스 이미지
파일포켓 이미지
대충 이런느낌일겁니다.
저걸 더 줄일 수 있는 방법도 있고 그런데
그정도까지 가는건 처음 배우는 시점에서 오히려 독이 될 수 있으니 이정도면 될듯?
아이콘 Frisbee (2021-09-30 21:22:27 KST)
0↑ ↓0
센스 이미지
2번은 제곱의 합과 합의 제곱을 저장할 변수를 각각 1개씩 지정하고
반복문을 N까지 돌면서 하나는 i**2를 더하고 다른 하나는 i를 더하게 한 뒤에
i를 더하게 한 변수를 제곱한다음 계산하면 될듯 합니다
아이콘 와이즈댄 (2021-09-30 21:23:11 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
정답 나왔네요, 감사해요!! ㅜ
strarr 이라는 함수는 처음 보는데
이 강사 강의는 쉽게 하더니 문제는 초급 수준은 아닌거 같네요 아무리 생각해도...
아이콘 베리타스꼬꼬마 (2021-09-30 21:26:20 KST)
0↑ ↓0
센스 이미지
저기서 strarr은 함수가 아니라 integer를 string list로 바꾼 변수라고 생각하시면 될듯요. 예를 들어 8988은 ['8', '9',' 8', '8']로 변하겟네용
아이콘 Frisbee (2021-09-30 21:26:23 KST)
0↑ ↓0
센스 이미지
strarr은 함수가 아니고 걍 제가 임의로 지은 변수명입니다. 저기서 파란색 글자는 변수명이니 글자에 너무 연연하지 마세요
아이콘 베리타스꼬꼬마 (2021-09-30 21:28:48 KST)
0↑ ↓0
센스 이미지
2번 같은 경우는 합을 저장하는 변수 Sa Sb를 0으로 설정하신 후에, for문에서 Sa에는 i를 더하고 Sb에는 i*i를 더하시고 for문이 끝나면 Sa*Sa - Sb 하면 되겟군요
ScrapGiant (2021-09-30 21:29:45 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
이게 파이썬 1:1 고수만 그거구마잉
아이콘 Frisbee (2021-09-30 21:30:24 KST)
0↑ ↓0
센스 이미지
안쪽에 for문에 strarr을 쓴거 때문에 함수라고 생각하신거 같은데
for문은 range를 이용해서 숫자를 반복시킬 수도 있고
위엣분이 이야기 하신대로 글자리스트를 만든건데
그 리스트를 통으로 반복시킬 수도 있고 여기서는 그 방법을 썻습니다.
어떤 언어를 쓰든 for문은 사용법이 무궁무진 하므로 그런게 있다 정도로 인지하시면 될 듯 합니다.
아이콘 베리타스꼬꼬마 (2021-09-30 21:30:38 KST)
0↑ ↓0
센스 이미지
본문에 나오는 .count(8)의 경우는 list에서 integer 8의 개수를 세는 것이라 1개가 맞습니다. 18과 88은 8이 아니니까여
아이콘 Slania (2021-10-01 00:44:44 KST)
0↑ ↓0
센스 이미지
모지 무슨일이 일어나고있는것이지
아이콘 와이즈댄 (2021-10-01 08:18:34 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
다들 도와주셔서 감사합니다.
덕분에 어찌어찌 패스했네요 ㅎㅎ
아이콘 NidasXPn (2021-10-01 08:21:17 KST)
0↑ ↓0
센스 이미지를 등록해 주세요
이제는 쓰고 싶어도 못 쓰는 for loop...

하나 정도면 괜찮은데 유전자는 데이터 량이 텍스트를 기가 바이트로 처리하니까

for loop 두 개 쓰면 몇억번을 돌리는 거라 절대 못 씀 ㅠ
댓글을 등록하려면 로그인 하셔야 합니다. 로그인 하시려면 [여기]를 클릭하십시오.
롤토체스 TFT - 롤체지지 LoLCHESS.GG
소환사의 협곡부터 칼바람, 우르프까지 - 포로지지 PORO.GG
배그 전적검색은 닥지지(DAK.GG)에서 가능합니다
  • (주)플레이엑스피
  • 대표: 윤석재
  • 사업자등록번호: 406-86-00726

© PlayXP Inc. All Rights Reserved.