정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.
class Solution {
public String solution(int num) {
String answer = "";
return answer;
}
}
class Solution {
public String solution(int num) {
if(num%2==0) return "Even";
else return "Odd";
}
}
import java.util.Scanner;
public class Solution {
static String solution(int num) {
if(num%2==0) return "Even";
else return "Odd";
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
System.out.println(solution(num));
}
}
짝수와 홀수를 구분하기 위해 if else 조건문과 나머지 연산자(%)를 사용하여 나머지가 0일 경우 짝수로 Even을 return 시키고, 0이 아닌 경우에는 Odd를 return 시켰다.
삼항연산자(조건 ? ture값 : flase값)를 활용하여 풀 수도 있다.
class Solution {
public String solution(int num) {
return (num % 2 == 0)?"Even":"Odd";
}
}
함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
class Solution {
public long[] solution(int x, int n) {
long[] answer = {};
return answer;
}
}
class Solution {
public long[] solution(int x, int n) {
long[] answer = new long[n];
long num = x;
for(int i=0; i<answer.length; i++){
answer[i]=num;
num+=x;
}
return answer;
}
}
import java.util.Scanner;
public class Solution {
static long[] solution(int x, int n) {
long[] answer = new long[n];
long num = x;
for(int i=0; i<answer.length; i++){
answer[i]=num;
num+=x;
}
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int n = sc.nextInt();
long[] arr = solution(x,n);
for(int i=0; i<arr.length; i++)
System.out.print(arr[i]+" ");
}
}
배열을 선언하여 x만큼 차이나는 값을 저장할 수 있는 방을 만들었다. for문을 활용하여 각 방에 x부터 x*n까지 값을 넣었다. 배열을 return하므로 메인에 배열을 생성하여 answer값을 대입해주고 출력하였다.
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
class Solution {
public double solution(int[] arr) {
double answer = 0;
return answer;
}
}
class Solution {
public double solution(int[] arr) {
double answer = 0;
int sum = 0;
for(int i=0; i<arr.length; i++)
sum += arr[i];
answer = (double) sum/ arr.length;
return answer;
}
}
import java.util.Scanner;
public class Solution {
static double solution(int[] arr) {
double answer = 0;
int sum = 0;
for(int i=0; i<arr.length; i++)
sum += arr[i];
answer = (double) sum/ arr.length;
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
System.out.println("입력 개수");
int[] arr = new int[sc.nextInt()];
for(int i=0; i< arr.length; i++)
arr[i] = sc.nextInt();
System.out.println(solution(arr));
}
}
메인에서 배열의 길이를 입력 받아 생성하고, for문을 돌려 값을 입력한다. 함수에서 배열을 넘겨 for문을 통해 합계를 구하고, 합계를 통해 평균을 구했다.
프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.
전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.
class Solution {
public String solution(String phone_number) {
String answer = "";
return answer;
}
}
class Solution {
public String solution(String phone_number) {
String answer ="";
String[] arr= phone_number.split("");
for(int i=0; i<phone_number.length()-4; i++)
arr[i] = "*";
answer = String.join("",arr);
return answer;
}
}
import java.util.Scanner;
public class Solution_0331 {
public static String solution(String phone_number) {
String answer ="";
String[] arr= phone_number.split("");
for(int i=0; i<phone_number.length()-4; i++)
arr[i] = "*";
answer = String.join("",arr);
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String phone_num = sc.next();
System.out.println(solution(phone_num));
}
}
문자열을 배열에 넣기 위해서 split()를 이용해 문자열을 하나씩 분리하여 넣어주었다. 그리고 for문을 사용해 뒤에 4자리를 제외한 앞 자리 숫자를 *로 바꾸어 배열에 넣어주었다. 그 후 문자열로 return 해주기 위해서 String.join()을 사용해 문자열 배열을 하나의 문자열로 합쳤다.
String str = "부산,제주도,가평,홍천";
String[] arr = str.split(",");
String str = {"부산", "제주도", "가평","홍천"};
string str = String.Join(separator, value);
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
class Solution {
public long solution(long n) {
long answer = 0;
return answer;
}
}
class Solution {
public long solution(long n) {
long answer = 0;
long num = (long) Math.sqrt(n);
if(n%Math.sqrt(n)==0) answer = (num+1)*(num+1);
else answer = -1;
return answer;
}
}
import java.util.Scanner;
public class Solution {
public static long solution(long n) {
long answer = 0;
long num = (long) Math.sqrt(n);
if(n%Math.sqrt(n)==0) answer = (num+1)*(num+1);
else answer = -1;
return answer;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
long n = sc.nextLong();
System.out.println(solution(n));
}
}
Math.sqrt()를 활용해 입력받은 수를 넘겨 받아 제곱근을 구했고, 제곱근+1의 제곱을 구하기 위해 num 변수에 저장하였다. 입력받은 수의 제곱근이 정수인지 아닌지를 알기 위해서 입력받은 수와 제곱근의 나머지를 구해서 if 조건문을 이용해 return값을 결정할 수 있도록 하였다.
join 쓰는 건 생각도 못했는데 좋은 방법이네요!