본문 바로가기
ⓒⓞⓓⓘⓝⓖⓣⓔⓢⓣ/ⓟⓨⓣⓗⓞⓝ

[python] 단계별로 풀어보기 - 6단계

by heaven00 2021. 4. 26.
728x90

 

 

 

 

뭔가 문제 푸는 방법이 어렵다기보다는 문제를 이해하는게 더 어렵다

코딩 잘할라면 국어도 잘해야하남..

 

 

 


 

 

6-1) 백준 15596번: 정수 N개의 합

 

def solve(a):
    return sum(a)

 

이 문제는 언어가 제한되어있는데 내가 만약 채점할 수 없는 언어 쓰는 사람이면 좀 속상할 것 같다

왜냐면 저기 있는 문제 다 풀어야지 저 단계 다 풀었다는 표시 뜨니까 ㅠ

 

 

 

 

 

 

 

6-2) 백준 4673번: 셀프 넘버

 

def d(n):  
    result = n
    while n != 0:
        result += n%10
        n //= 10
    return result
 
a = []
 
for i in list(range(1,10001)):
  a.append(d(i))
  if i not in a:
    print(i)

 

셀프 넘버가 아닌 수를 먼저 리스트 a에 저장한 뒤, if문을 써서 리스트a에 존재하지 않는 수를 출력한다.

 

 

 

 

 

 

 

 

6-3) 백준 1065번: 한수

 

a = int(input())
num = 0

for i in range(1, a+1):
    if i < 100:
        num += 1
    else:
        b = list(map(int, str(i)))
        if b[0]-b[1] == b[1]-b[2]:
            num += 1
print(num)

 

100보다 작은 수라면 (즉, 두자리 수) 등차수열을 계산할 수 없으므로 모두 num +=1을 해준다.

그 외의 경우일 때는(=100보다 크면), 등차수열 조건을 성립한다면 num +=1

 

 

 

 

 

728x90

댓글