티스토리 뷰
1. 문제
문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 0으로 시작하지 않습니다.
입출력 예
예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
2. 풀이 과정
def solution(s):
return int(s)
3. 다른 사람의 풀이
def strToInt(str):
result = 0
for idx, number in enumerate(str[::-1]):
if number == '-':
result *= -1
else:
result += int(number) * (10 ** idx)
return result
str[::-1]
: 문자열을 거꾸로 뒤집어버림
단순하게 int()를 쓰고 끝낸 것이 아니라 문자열을 정수로 바꾸는 알고리즘의 정석대로 푼 풀이이다.
문제를 어떻게 생각하고 받아들이냐에 따라 풀이가 엄청나게 달라지는 것 같다.
다른 사람들처럼 중간에 int()를 쓴 것이 아쉬워서 다음과 같이 조금 고쳐보았다.
def strToInt(str):
result = 0
numbers = {'0': 0, '1': 1, '2': 2, '3': 3, '4': 4, '5': 5, '6': 6, '7': 7, '8': 8, '9': 9, }
for idx, number in enumerate(str[::-1]):
if number == '-':
result *= -1
else:
result += numbers[number] * (10 ** idx)
return result
'Algorithm > Programmers' 카테고리의 다른 글
두 정수 사이의 합 (0) | 2020.02.14 |
---|---|
약수의 합 (0) | 2020.02.08 |
서울에서 김서방 찾기 (0) | 2020.02.04 |
짝수와 홀수 (0) | 2020.02.04 |
평균 구하기 (0) | 2020.01.30 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- Django 컬렉션
- Django 업로드
- 서점 어플리케이션
- Django 좋아요
- Django 검색
- Redis
- 파이썬
- Django application
- Django 회원가입
- MySQL
- Redis Cache
- Django 로그인
- Django Instagram
- java
- Django 비밀번호 수정
- query parameter
- Django
- Django User
- Django 인스타그램
- python
- Django 해시태그
- 장고
- Django 북마크
- Django 회원 정보 수정
- 북마크 어플리케이션
- Django 팔로우
- Django 로그아웃
- Django 댓글
- Django 프로젝트 생성
- Django 어플리케이션
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함