프로그래머스 문제

프로그래머스(Java) 3진법 뒤집기, 내적, 직사각형 별찍기

정리제이 2024. 8. 29. 10:58

문제 1:

3진법 뒤집기

 

문제 설명:

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

 

코드 :

import java.util.*;

class Solution {
    public int solution(int n) {
        int answer = 0;
        List<Integer> List = new ArrayList<>();
        
        while(n > 0){
             List.add(n % 3);
            
            n /= 3;
        }
        
        for(int i = List.size() -1 , j = 0; i >= 0; i--, j++){
            answer += List.get(i) * Math.pow(3, j);
        }
        return answer;
    }
}

 

 

문제 2:

내적

 

문제 설명:
길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해 주세요.

이때, a와 b의 내적은 a [0]*b [0] + a [1]*b [1] +... + a [n-1]*b [n-1]입니다. (n은 a, b의 길이)

 

 

코드:

class Solution {
    public int solution(int[] a, int[] b) {
        int answer = 0;
        
        for(int i = 0; i < a.length; i++){
            answer += a[i] * b[i];
        }
        
        return answer;
    }
}

 

 

문제 3:

직사각형 별 찍기

 

문제 설명:

이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다.
별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해 보세요.

n = 5,

m = 3

 

코드:

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();
        }
    }
}