25. 짝수 홀수 개수
class Solution {
public int[] solution(int[] num_list) {
int[] answer = new int[2];
int cnt=0;
int cnt2=0;
for(int a : num_list){
if(a%2 == 0) cnt++;
else cnt2++;
}
answer[0] = cnt;
answer[1] = cnt2;
return answer;
}
}
<작성한 코드>
num_list의 원소들을 하나씩 꺼내서 a에 넣어주었고 값을 검증했다. 만약 짝수면 cnt를 1 증가, 홀수면 cnt2를 1 증가시켜서 각각의 개수를 구한 뒤 answer에 넣어주었다.
26. 문자 반복 출력하기
class Solution {
public String solution(String my_string, int n) {
StringBuilder answer = new StringBuilder();
for(int i=0; i<my_string.length(); i++){
for(int j=0; j<n; j++){
answer.append(my_string.charAt(i));
}
}
return answer.toString();
}
}
<작성한 코드>
0부터 입력받은 배열의 길이만큼 반복문을 설정하고 그 안에서 0부터 입력받은 n까지 한번더 반복하도록 하였다. answer을 StringBuilder으로 선언해 주었고 배열의 첫 번째 값부터 n번만큼 추가해 주고 toString을 통해 문자열로 만들어서 반환했다.
27. 특정 문자 제거하기
class Solution {
public String solution(String my_string, String letter) {
String answer = "";
for(int i=0; i<my_string.length(); i++){
if(my_string.charAt(i) != letter.charAt(0)){
answer += my_string.charAt(i);
}
}
return answer;
}
}
<작성한 코드>
my_string의 길이만큼 반복해주도록 for문을 만들어준 뒤, my_string의 첫 번째 값과 letter의 문자가 일치하지 않을 때만 answer안에 my_string의 i번째 값을 넣어주었다.
28. 각도기
class Solution {
public int solution(int angle) {
int answer = 0;
if(angle < 90) answer = 1;
else if(angle == 90) answer = 2;
else if(angle < 180) answer = 3;
else if(angle == 180) answer = 4;
else answer = 0;
return answer;
}
}
<작성한 코드>
if-else 를 사용해서 조건에 맞도록 answer값을 반환하였다.
29. 양꼬치
class Solution {
public int solution(int n, int k) {
int answer = 0;
int service = (int) n/10;
answer = 12000*n + 2000*(k-service);
return answer;
}
}
<작성한 코드>
서비스 음료수 개수를 미리 n/10으로 구해주었다. 그 후 양꼬치값*n + 음료수값*(k-서비스음료수)를 해주고 반환하였다.
30. 짝수의 합
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=1; i<=n; i++){
if(i % 2 == 0) answer+=i;
}
return answer;
}
}
<작성한 코드>
for문으로 n번을 돌리고 그중 짝수일때만 값을 더해서 반환하였다.
31. 배열 자르기
class Solution {
public int[] solution(int[] numbers, int num1, int num2) {
int[] answer = new int[num2 - num1 + 1];
for(int i=0; num1<=num2; num1++, i++){
answer[i] = numbers[num1];
}
return answer;
}
}
<작성한 코드>
answer배열의 길이는 num2-num1을 해준 뒤 +1을 해주어 개수를 맞춰주었다. 그 후 for문으로 num1부터 num2만큼 배열을 반복해 주었고 num1, i를 1씩 증가시켜 가며 answer [i]에 numbers [num1]에 있는 값을 대입해 주었다.
32. 외계행성의 나이
class Solution {
public String solution(int age) {
String answer = "";
while(age > 0){
int a = age%10;
char ch = (char)('a' + a);
answer = ch + answer;
age /=10;
}
return answer;
}
}
<작성한 코드>
age가 0보다 크면 while이 실행되게 했다. 우선 age를 10으로 나눠서 나머지를 가져온 뒤 일의 자릿수부터 구했다. 변수 ch에 'a' + a를 해줘서 숫자에 맞는 알파벳을 대입했다. 그 후 배열 answer에 ch + answer을 해줘서 자릿수에 맞도록 설정해준 뒤 age/10을 해줘서 다음 자릿수로 이동해 주었다.
'프로그래머스 문제풀이 > 알고리즘 (JAVA)' 카테고리의 다른 글
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (41~48번 문제풀이) (0) | 2023.09.22 |
---|---|
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (33~40번 문제풀이) (0) | 2023.09.21 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (20~24번 문제풀이) (0) | 2023.09.20 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (14~19번 문제풀이) (0) | 2023.09.20 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (10~13번 문제풀이) (0) | 2023.09.13 |
남건욱's 공부기록