요세 포스팅이 뜸해졌는데 포스팅을 매일매일 공부자료로 올리는게 귀찮아졌기때문이다
또한 백준만 하루종일 푸는데 나보다 잘한사람은 널려서 내답을 포스팅하는게 의미가 있을까 싶기도 하고 허허
그래서 앞으로도 포스팅할일은 적을것같다 얼마전엔 하노이탑문제를 풀었는데 굉장히 어려웠다
나는 재귀함수를 사용하지않고 풀었는데 내가 정말 대단하다고 생각했다 물론 모범답에비해 굉장히
비효율적인 프로그램이었다
공부는 계속 하고있었다(어차피 아무도 안보지만...)
그리고 앞으로 코랩링크로 내용을 대신하지않고 그냥 코드와 글로 내용을 적기로하였다 티스토리에는 코드블럭이 제공되어 참 좋은것같다 그리고 이렇게 하는게 더 깔끔한것같다 링크 타는건 귀찮으니까
생성자와 분배합에 관한 간단한 설명
분배합을 만드는법 나와 내 자리수별 숫자를 모두 더한다
예를들어 245의 분배합은 256이다 245+2+4+5=256
245의 분배합은 256이다 반대로
256의 생성자는 245이다 다음은 특정코드의 생성자의 생성자의 생성자를 계속 파고들어가 생성자가 없는 숫자가 나올때까지 반복해 조상을 알아보는 프로그램이다
특정숫자에 여러개의 생성자가 있을수도있지만 아래코드에선 가장큰 생성자를 기준으로 한다
다만 아쉬운건 큰숫자를 넣어도 드라마틱한 족보가 나오지는 않는다는 사실이었다
bigcount=0
def 내조상찾기(분해합):
분해합길이=len(분해합)
count=0
global bigcount
if 분해합=='1':
if bigcount==0:
print(f'{검사자}님의 조상은 바로 {검사자}님 입니다!!!')
return
print(f'{검사자}는 {분해합}의 {bigcount}세손 이십니다')
return
for i in range(분해합길이,분해합길이*9): # i는 생성자 각자리수 다 더한거
result=0
for j in range(len(str(int(분해합)-i))):
result+=int(str(int(분해합)-i)[j])
if result==i:
count+=1
bigcount+=1
print(int(분해합)-i)
내조상찾기(str(int(분해합)-i))
break
if bigcount==0:
print(f'{검사자}님의 조상은 바로 {검사자}님 입니다!!!')
return
if count==0:
print(f'{검사자}는 {분해합}의 {bigcount}세손 이십니다')
검사자=input()
내조상찾기(검사자)
시간을 아끼는법 (0) | 2022.05.20 |
---|---|
백준 10989 파이썬 풀이 (0) | 2022.05.19 |
220501공부(mysql) (0) | 2022.05.01 |
220501신규아이디추천(프로그래머스코테) (0) | 2022.05.01 |
220429신고결과받기(프로그래머스코테) (0) | 2022.04.29 |