Notice
Recent Posts
Recent Comments
Link
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
Tags
more
Archives
Today
Total
관리 메뉴

이지은님의 블로그

[JAVA] 코드카타 - (36)~(40) 본문

알고리즘 공부/[JAVA] 코드카타

[JAVA] 코드카타 - (36)~(40)

queenriwon3 2025. 1. 14. 10:29

문제 (36) : 문자열 다루기 기본

문자열 s 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution 완성하세요. 예를 들어 s "a234"이면 False 리턴하고 "1234"라면 True 리턴하면 됩니다.

https://school.programmers.co.kr/learn/courses/30/lessons/12918

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

문제풀이

class Solution {
    public boolean solution(String s) {
        if (s.length() != 4 && s.length() != 6) return false;
        for (char c : s.toCharArray()){
            if (!Character.isDigit(c)) return false;
        }
        return true;
    }
}

 

 

 

 

 

문제 (37) : 행렬의 덧셈

행렬의 덧셈은 행과 열의 크기가 같은 행렬의 같은 , 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1 arr2 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution 완성해주세요.

https://school.programmers.co.kr/learn/courses/30/lessons/12950

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

문제풀이

class Solution {
    public int[][] solution(int[][] arr1, int[][] arr2) {
        int[][] answer = new int[arr1.length][arr1[0].length];
        for (int i = 0; i<arr1.length; i++) {
            for (int j = 0; j<arr1[i].length; j++) {
                answer[i][j] = arr1[i][j] + arr2[i][j];
            }
        }
        return answer;
    }
}

 

 

 

 

문제 (38) : 직사각형 별찍기

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.

(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m 직사각형 형태를 출력해보세요.

https://school.programmers.co.kr/learn/courses/30/lessons/12969

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

문제풀이

import java.util.Scanner;

class Solution {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();

        for (int i = 0; i<b; i++) {
            for (int j = 0; j<a; j++) {
                System.out.print("*");
            }
            System.out.println();
        }
    }
}

 

 

 

 

 

문제 (39) : 최대공약수와 최소공배수

수를 입력받아 수의 최대공약수와 최소공배수를 반환하는 함수, solution 완성해 보세요. 배열의 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 3, 12 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12) [3, 12] 반환해야 합니다.

https://school.programmers.co.kr/learn/courses/30/lessons/12940

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

문제풀이

class Solution {
    public int[] solution(int n, int m) {
        int[] answer = { 1, Math.max(n,m) };
        for (int i = 1; i<n*m; i++){
            if ((n % i == 0 && m % i == 0)) answer[0] = i;
            int j = n * m - i + 1 ;
            if ((j % n == 0 && j % m == 0)) answer[1] = j;
        }
        return answer;
    }
}

 

 

 

 

문제 (40) : 3진법 뒤집기

자연수 n 매개변수로 주어집니다. n 3진법 상에서 앞뒤로 뒤집은 , 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

 

https://school.programmers.co.kr/learn/courses/30/lessons/68935

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

 

문제풀이

class Solution {
    public int solution(int n) {
        StringBuilder sb = new StringBuilder(Integer.toString(n,3));
        sb.reverse();
        return Integer.parseInt(sb.toString(),3);
    }
}

'알고리즘 공부 > [JAVA] 코드카타' 카테고리의 다른 글

[JAVA] 코드카타 - (46)~(50)  (1) 2025.01.22
[JAVA] 코드카타 - (41)~(45)  (0) 2025.01.17
[JAVA] 코드카타 - (31)~(35)  (0) 2025.01.10
[JAVA] 코드카타 - (26)~(30)  (0) 2025.01.10
[JAVA] 코드카타 - (21)~(25)  (0) 2025.01.10