문제
https://www.acmicpc.net/problem/2033
1. 문제 설명
- 10의 자리 숫자이면 1의 자리에서 반올림
- 100의 자리 숫자이면 10의 자리에서 반올림
처음 생각한 코드
def round_number(n):
if n < 10:
return n
else:
digits = len(str(n)) - 1
return round(n, -digits)
> 이걸 보니까 ... 문제를 이해하는 게 제일 중요하다고 생각했다 ㅠㅠ
일단 정말 정말 간단한 문제라고 생각했고 그냥 길이에 맞춰서 반올림하면 되는거 아닌가?? 라고 생각했는데 계속 ~~
틀리는거다..하
정말 답답했음 ㅠㅠ
내가 간과했던 것은
-> 반복문을 사용하지 않음
-> 다음 자리수로 넘어가지 않음
-> 조건에 해당하는지를 검토하지 않음..
이정도가 될 것 같다. ㅠㅠ
코드 자체는 복잡하지 않은데 문제를 이해하는데 꽤나 오랜시간이 걸렸다.. ㅠ ㅁ ㅠ
제출한 코드
N = int(input())
a = 10
while N > a:
if N % a >= a // 2:
N += a
N -= (N % a)
a *= 10
print(N)
2. 결과
>> 오랜만에 하는 항해!! 그동안 시험기간이고 막 이래서 정신이 하나두 없었다 ㅜ.ㅜ
앞으로 얼마 안남은 기간 열심히 해야겠다!
'Algorithm > 항해일지 TIL' 카테고리의 다른 글
[DAY 13] 프로그래머스 가운데 글자 가져오기 / 슬라이싱 (0) | 2024.04.11 |
---|---|
[DAY 11] 프로그래머스 없는 숫자 더하기 (2) | 2024.04.08 |
[DAY 10] 프로그래머스 평균 구하기 / SUM (0) | 2024.04.07 |
[DAY 9] 프로그래머스 문자열 내 마음대로 정렬하기 / lambda (0) | 2024.04.06 |
[DAY 9] 프로그래머스 LV1. 짝수와 홀수 (0) | 2024.04.06 |