프로그래머스 문제
프로그래머스(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();
}
}
}