14. 짝수는 싫어요

import java.util.ArrayList;
import java.util.List;
class Solution {
public int[] solution(int n) {
List<Integer> answerList = new ArrayList<>();
for(int i = 1; i<=n; i++){
if(i%2 != 0){
answerList.add(i);
}
}
int[] answer = new int[answerList.size()];
for(int i=0; i<answerList.size(); i++){
answer[i] = answerList.get(i);
}
return answer;
}
}
<작성한 코드>
우선 정수형 리스트를 하나 만들어줬다. 그리고 if문에서 홀수들만 남을 수 있게 조건을 걸어주고 배열에 추가되도록 하였다. 반환형이 정해져 있어서 다시 내가 만든 리스트를 배열형태로 바꿔주고 반환하였다.
15. 피자 나눠 먹기(1)

class Solution {
public int solution(int n) {
int answer = 0;
if(n %7 == 0){
answer = n/7;
} else{
answer = n/7;
answer +=1;
}
return answer;
}
}
<작성한 코드>
피자는 7조각으로 나눠진다고 가정되었다. 따라서 만약 인원수가 7의 배수이면 피자의 개수를 그대로 넣어주었고, 만약 7의 배수가 아니라면 +=1을 해주어서 1판을 더 추가해 주도록 하였다.
16. 피자 나눠 먹기(2)

class Solution {
public int solution(int n) {
int num = 6;
int answer = 0;
while(num%n != 0){
num+=6;
}
answer = num/6;
return answer;
}
}
<작성한 코드>
우선 피자가 6조각이기 때문에 num을 6으로 초기화해주었다. 그 후 while문으로 피자조각/인원수를 했을 때 0이 나올 때까지 반복하게 하였다. num에 6을 계속 더해주어서 num% n이 0이 되는 순간 num은 필요한 피자 조각수를 가지고 있을 것이다. 따라서 조각수를 6으로 나눠주면 그게 정답이다.
17. 피자 나눠 먹기(3)

class Solution {
public int solution(int slice, int n) {
int answer = 0;
// 7조각 10명 2판
// 4조각 12명 3판
if(n%slice == 0){
answer = n/slice;
} else{
answer = (n/slice) + 1;
}
return answer;
}
}
<작성한 코드>
if문으로 인원수에서 조각수를 나눈 값이 0이면 그대로 반환해 주었고, 조각이 부족하여 나머지가 남는다면 +1을 해주어 피자 판수를 구하였다.
18. 배열의 평균값

class Solution {
public double solution(int[] numbers) {
double answer = 0;
int sum = 0;
for(int i=0; i<numbers.length; i++){
sum += numbers[i];
}
answer = (double) sum / numbers.length;
return answer;
}
}
<작성한 코드>
배열의 합으로 사용할 int형 변수 sum을 생성해 주었다. 후에 for문으로 numbers [0] 번째 값부터 마지막값까지 더 해준 뒤 double형으로 정수의 합/배열의 길이를 해주어서 답을 구했다.
19. 옷가게 할인 받기

class Solution {
public int solution(int price) {
int answer = 0;
if(price >= 500000){
answer = (int)(price * 0.8);
} else if(price >= 300000){
answer = (int)(price * 0.9);
} else if(price >= 100000){
answer = (int)(price * 0.95);
} else{
answer = price;
}
return answer;
}
}
<작성한 코드>
if-else 문으로 풀이하였다. 가격이 50만 원 이상이면 가격의 80 퍼만큼 지불, 30만 원 이상이면 90 퍼만큼 지불, 10만 원 이상이라면 95퍼만큼 지불하도록 하였고 10만원 미만일시에는 물건의 원래 가격만큼 반환하도록 하였다.
'프로그래머스 문제풀이 > 알고리즘 (JAVA)' 카테고리의 다른 글
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (25~32번 문제풀이) (0) | 2023.09.21 |
---|---|
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (20~24번 문제풀이) (0) | 2023.09.20 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (10~13번 문제풀이) (0) | 2023.09.13 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (6~9번 문제풀이) (0) | 2023.06.07 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (1~5번 문제풀이) (0) | 2023.06.07 |
남건욱's 공부기록