[약수의 합]
https://programmers.co.kr/learn/courses/30/lessons/12928
* 로직
- 1부터 n까지 반복문을 돌려 나누어 떨어지는 몫들을 answer에 누적해준다
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=1; i<=n; ++i) {
if(n%i == 0) answer += i;
}
return answer;
}
}
[이상한 문자 만들기]
https://programmers.co.kr/learn/courses/30/lessons/12930
* 로직
- s길이만큼 탐색하면서
- 단어의 인덱스(idx)가 짝수라면 -> 대문자
- 홀수라면 -> 소문자
- 만약 공백을 만나면 새로운 단어기 때문에 idx=0으로 초기화한다
class Solution {
public String solution(String s) {
String answer = "";
StringBuilder sb = new StringBuilder();
int idx = 0;
for(int i=0; i<s.length(); ++i) {
String word = s.substring(i, i+1);
if(word.equals(" ")) {
idx = 0;
sb.append(word);
continue;
}
if(idx%2 == 0) sb.append(word.toUpperCase());
else sb.append(word.toLowerCase());
idx++;
}
return answer = sb.toString();
}
}
[자릿수 더하기]
import java.util.*;
public class Solution {
public int solution(int n) {
int answer = 0;
String num = String.valueOf(n);
for(int i=0; i<num.length(); ++i) {
answer += Integer.parseInt(num.substring(i, i+1));
}
return answer;
}
}
[자연수 뒤집어 배열로 만들기]
* 로직
- 문자열로 변환한 뒤, 거꾸로 배열에 다시 넣어준다
import java.util.ArrayList;
class Solution {
public int[] solution(long n) {
int[] answer = {};
String num = String.valueOf(n);
ArrayList<Integer> list = new ArrayList<>();
for(int i=num.length()-1; i>=0; --i) {
list.add(Integer.parseInt(num.substring(i, i+1)));
}
answer = new int[list.size()];
for(int i=0; i<list.size(); ++i) {
answer[i] = list.get(i);
}
return answer;
}
}
'Algorithm > Problem_프로그래머스' 카테고리의 다른 글
프로그래머스(짝수와 홀수, 최대공약수와 최소공배수, 콜라츠 추측, 평균 구하기) - Java (0) | 2020.06.01 |
---|---|
프로그래머스(정수 내림차순으로 배치하기, 정수 제곱근 판별, 제일 작은 수 제거하기) - Java (2) | 2020.05.29 |
프로그래머스(종이접기) - Java (0) | 2020.05.25 |
프로그래머스(수박수박수박수박수박수?, 문자열을 정수로 바꾸기, 시저 암호) - Java (0) | 2020.05.25 |
프로그래머스(서울에서 김서방 찾기, 소수 찾기) - Java (0) | 2020.05.25 |