2024. 11. 7. 18:00ㆍ입문문제
https://school.programmers.co.kr/learn/courses/30/lessons/12925
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 "0"으로 시작하지 않습니다.
입출력 예
예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
문자형 숫자를 정수형 숫자로 변환하는 문제입니다.
파이썬으로 이 문제를 푼다면 간단합니다. str에는 잘못된 입력이 없기 때문에, 무조건 숫자임이 보장되어 있으므로 단순히 int만 씌워주면 됩니다.
자바로 문제를 푼다면 Integer.valueOf() 함수를 사용해서 정수 값을 추출해내면 됩니다. 이 역시 잘못된 입력이 없으니 try-catch 구조를 사용할 필요도 없죠.
물론 연습문제라는 점을 생각해본다면, 조건문과 반복문을 사용해서 문제를 푸는 걸 생각했을 수도 있습니다.
정답 코드를 작성해보겠습니다.
1. 자바
class Solution {
public int solution(String s) {
int answer = Integer.valueOf(s);
return answer;
}
}
2. 파이썬
def solution(s):
answer = int(s)
return answer
만약 이런 함수들을 모른다면 아마 다음과 같은 구조로 진행할 것 같습니다.
1. 맨 앞에 부호(+, -)가 있는지 확인한다.
2. 부호가 있다면 1번째 인덱스부터, 없다면 0번째 인덱스부터 숫자를 확인한다.
3. answer에 숫자를 더하고 10을 곱해 자릿수를 맞춘다.
4. 부호에 따라 마지막에 1 또는 -1을 곱한다.
어느 방법이든 같은 결과입니다.
'입문문제' 카테고리의 다른 글
| [연습문제] 약수의 합 (0) | 2024.11.11 |
|---|---|
| [연습문제] 시저 암호 (0) | 2024.11.08 |
| [연습문제] 수박수박수박수박수박수? (0) | 2024.11.06 |
| [연습문제] 소수 찾기 (0) | 2024.11.05 |
| [연습문제] 서울에서 김서방 찾기 (1) | 2024.11.04 |