Algorithms/프로그래머스
[프로그래머스] Lv1. 문자열을 정수로 바꾸기, 가운데 글자 가져오기, 음양 더하기
devran
2023. 8. 22. 22:13
반응형
문자열을 정수로 바꾸기
문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건
- s의 길이는 1 이상 5이하입니다.
- s의 맨앞에는 부호(+, -)가 올 수 있습니다.
- s는 부호와 숫자로만 이루어져있습니다.
- s는 "0"으로 시작하지 않습니다.
풀이
놀랍지만 겁먹었던 문제임
알고보니 부호는 Integer.parseInt로 해주면 String→Int 처리가 자유롭다는 깨달음을 얻음
class Solution {
public int solution(String s) {
int answer = 0;
String arr[] = s.split("");
answer = Integer.parseInt(s);
return answer;
}
}
가운데 글자 가져오기
문제 설명
단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
재한사항
- s는 길이가 1 이상, 100이하인 스트링입니다.
풀이
스트링빌더를 써야하나 했는데,, 그렇게 까지 하지 않아도 된다
그냥 잘라서 담아주고, 홀수면 딱 중앙값, 홀수가 아니라면 두개를 뽑아줘야 하니 맞게 계산을 해주면 된다
import java.io.*;
class Solution {
public String solution(String s) {
String answer = "";
// StringBuilder sb = new StringBuilder();
String tmp[] = s.split("");
if (tmp.length % 2 != 0) { // 홀수면
answer = tmp[tmp.length/2];
}
else{
answer = tmp[tmp.length/2-1] + tmp[tmp.length/2];
}
return answer;
}
}
음양 더하기
문제 설명
어떤 정수들이 있습니다. 이 정수들의 절댓값을 차례대로 담은 정수 배열 absolutes와 이 정수들의 부호를 차례대로 담은 불리언 배열 signs가 매개변수로 주어집니다. 실제 정수들의 합을 구하여 return 하도록 solution 함수를 완성해주세요.
풀이
class Solution {
public int solution(int[] absolutes, boolean[] signs) {
int answer = 0;
for(int i = 0; i < absolutes.length; i++){
if(signs[i]){ // true
answer += absolutes[i];
}
else{
answer -= absolutes[i];
}
}
return answer;
}
}
반응형