레이블이 JAVA-코딩테스트인 게시물을 표시합니다. 모든 게시물 표시
레이블이 JAVA-코딩테스트인 게시물을 표시합니다. 모든 게시물 표시

2023년 7월 2일 일요일

[JAVA/프로그래머스]코딩테스트 짝수 홀수 개수

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.


문제 설명

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.




제한사항

  • 1 ≤ num_list의 길이 ≤ 100
  • 0 ≤ num_list의 원소 ≤ 1,000




JAVA 코딩테스트 짝수 홀수 개수 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
    public int[] solution(int[] num_list) {
        int[] answer = new int[2]; // 크기가 2인 배열 생성
 
        for (int num : num_list) {
            if (num % 2 == 0) {
                answer[0]++// 짝수 개수 증가
            } else {
                answer[1]++// 홀수 개수 증가
            }
        }
 
        return answer;
    }
}
cs

위의 코드는 크기가 2인 answer 배열을 생성합니다. 그런 다음 num_list를 순회하면서 각 숫자가 짝수인지 홀수인지 확인합니다. 숫자가 짝수이면 answer[0]에 있는 짝수 개수를 증가시키고, 숫자가 홀수이면 answer[1]에 있는 홀수 개수를 증가시킵니다. 마지막으로 answer 배열을 반환합니다.


주어진 제약 조건에 따르면 num_list의 길이는 1 이상 100 이하이고, num_list의 원소는 0 이상 1,000 이하의 값을 가지므로, 코드는 해당 제약 조건을 만족합니다.

[JAVA/프로그래머스]코딩테스트 7의 개수

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.


문제 설명

머쓱이는 행운의 숫자 7을 가장 좋아합니다. 정수 배열 array가 매개변수로 주어질 때, 7이 총 몇 개 있는지 return 하도록 solution 함수를 완성해보세요.




제한사항

1 ≤ array의 길이 ≤ 100

0 ≤ array의 원소 ≤ 100,000




입출력 예

arry

result

[7,77,17]

4

[10,29]

0




입출력 예 설명

입출력 예 #1

[7, 77, 17]에는 7이 4개 있으므로 4를 return 합니다.


입출력 예 #2

[10, 29]에는 7이 없으므로 0을 return 합니다.




JAVA 프로그래머스 코딩테스트 7의 개수 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
    public int solution(int[] array) {
        int answer = 0;
        for (int num : array) {
            while (num > 0) {
                int digit = num % 10;
                if (digit == 7) {
                    answer++;
                }
                num /= 10;
            }
        }
        return answer;
    }
}
cs

위의 코드는 Solution 클래스를 정의하고, solution 메서드를 구현합니다. array라는 이름의 정수 배열을 입력으로 받습니다. 배열의 각 요소를 순회하면서 자릿수를 확인하고, 7인지 검사합니다. 나머지 연산을 통해 각 자릿수를 구하고, 7과 같으면 answer 값을 증가시킵니다. 모든 요소를 처리한 뒤 최종적으로 answer 값을 반환합니다.

2023년 7월 1일 토요일

[JAVA/프로그래머스]코딩테스트 피자 나눠 먹기 (2)

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.




문제 설명

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.




제한사항

  • 1 ≤ n ≤ 100




JAVA 코딩테스트 피자 나눠 먹기 (2) 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for (int i = 1; i <= 100; i++) {
            if ((6 * i) % n == 0) {
                answer = i;
                break;
            }
        }
        
        return answer;
    }
}
cs

위의 코드는 반복문을 통해 가능한 판의 개수를 찾고, 해당 판의 개수를 반환하는 solution 메서드를 포함한 Solution 클래스입니다. 6 * i를 n으로 나누어 나누어떨어지는 경우를 찾아서 해당 i 값을 반환합니다.

[JAVA/프로그래머스]코딩테스트 문자열 뒤집기

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.


문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.




제한사항

1 ≤ my_string의 길이 ≤ 1,000




JAVA 코딩테스트 문자열 뒤집기 코드

1
2
3
4
5
6
7
8
9
10
11
12
public class Solution {
    public String solution(String my_string) {
        StringBuilder answer = new StringBuilder();
        
        // 문자열을 뒤에서부터 순회하며 answer에 추가합니다.
        for (int i = my_string.length() - 1; i >= 0; i--) {
            answer.append(my_string.charAt(i));
        }
        
        return answer.toString();
    }
}
cs

위의 코드는 StringBuilder를 사용하여 문자열을 뒤집습니다. StringBuilder는 문자열을 효율적으로 처리할 수 있는 가변적인 문자열 버퍼입니다. 반복문을 통해 my_string의 각 문자를 뒤에서부터 answer에 추가하고, 최종적으로 answer를 문자열로 변환하여 반환합니다.


예를 들어, my_string이 "Hello, World!"인 경우, answer는 "!dlroW ,olleH"가 됩니다.

[JAVA/프로그래머스]코딩테스트 피자 나눠 먹기 (1)


머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.


문제 설명

머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.




제한사항

1 ≤ n ≤ 100




JAVA 코딩테스트 피자 나눠 먹기 (1)

1
2
3
4
5
6
class Solution {
    public int solution(int n) {
        int answer = (int) Math.ceil((double) n / 7);
        return answer;
    }
}
cs

위 코드는 주어진 사람의 수 n을 피자를 일곱 조각으로 나눈 뒤, 올림하여 필요한 피자의 수를 계산하여 반환합니다. 모든 사람이 피자를 한 조각 이상 먹을 수 있도록 하기 위해 필요한 피자의 수는 n을 일곱으로 나눈 몫과 동일합니다.

[JAVA/프로그래머스]코딩테스트 배열로 저장하기

문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.


문제 설명

문자열 my_str과 n이 매개변수로 주어질 때, my_str을 길이 n씩 잘라서 저장한 배열을 return하도록 solution 함수를 완성해주세요.




제한사항

  • 1 ≤ my_str의 길이 ≤ 100
  • 1 ≤ n ≤ my_str의 길이
  • my_str은 알파벳 소문자, 대문자, 숫자로 이루어져 있습니다.




JAVA 코딩테스트 잘라서 배열로 저장하기 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.ArrayList;
 
class Solution {
    public String[] solution(String my_str, int n) {
        int len = my_str.length();
        int numSubstrings = (int) Math.ceil((double) len / n); // 잘린 문자열의 개수 계산
 
        ArrayList<String> substrings = new ArrayList<>(); // 결과를 저장할 ArrayList 생성
 
        // 문자열을 n씩 잘라서 저장하는 과정
        for (int i = 0; i < numSubstrings; i++) {
            int start = i * n; // 시작 인덱스
            int end = Math.min(start + n, len); // 끝 인덱스 (범위를 넘어가면 문자열 끝까지만 자르도록 함)
            substrings.add(my_str.substring(start, end)); // 잘라낸 문자열을 ArrayList에 추가
        }
 
        String[] answer = substrings.toArray(new String[0]); // ArrayList를 배열로 변환하여 반환
 
        return answer;
    }
}
cs


위 코드는 주어진 문자열 my_str을 길이 n씩 잘라서 저장하는 함수입니다. Math.ceil 함수를 사용하여 문자열을 잘랐을 때 생기는 잘린 문자열의 개수를 계산하고, ArrayList를 사용하여 잘린 문자열을 저장합니다. 마지막으로 ArrayList를 배열로 변환하여 반환합니다.

Java Record: 간결하고 불변성을 가진 데이터 클래스를 만들기 위한 기능

Java 14부터 도입된 Record는 Java 프로그래밍에서 데이터 클래스를 간결하게 정의하고, 불변성을 가진 객체를 생성하는 데 도움을 주는 기능입니다. 이 블로그에서는 Java의 Record에 대해 소개하고, Record의 기능과 활용 방법에 대...