프로그래머스 코딩테스트(접두사인지 확인하기, 마지막 두 원소, 덧셈식 출력하기)
<접두사인지 확인하기>
문제 설명
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "banana"의 모든 접두사는 "b", "ba", "ban", "bana", "banan", "banana"입니다.
문자열 my_string과 is_prefix가 주어질 때, is_prefix가 my_string의 접두사라면 1을, 아니면 0을 return 하는 solution 함수를 작성해 주세요.
풀이
class Solution {
public int solution(String my_string, String is_prefix) {
return my_string.substring(0,is_prefix.length()<=my_string.length()?is_prefix.length():my_string.length()).equals(is_prefix)?1:0;
}
}
다른 사람 풀이
class Solution {
public int solution(String my_string, String is_prefix) {
if (my_string.startsWith(is_prefix)) return 1;
return 0;
}
}
<마지막 두 원소>
문제 설명
정수 리스트 num_list가 주어질 때, 마지막 원소가 그전 원소보다 크면 마지막 원소에서 그전 원소를 뺀 값을 마지막 원소가 그전 원소보다 크지 않다면 마지막 원소를 두 배한 값을 추가하여 return하도록 solution 함수를 완성해주세요.
풀이
import java.util.Arrays;
class Solution {
public int[] solution(int[] num_list) {
int[] answer = Arrays.copyOfRange(num_list,0,num_list.length+1);
if(answer[answer.length-2]>answer[answer.length-3]){
answer[answer.length-1] = answer[answer.length-2]-answer[answer.length-3];
} else {
answer[answer.length-1] = answer[answer.length-2]*2;
}
return answer;
}
}
<덧셈식 출력하기>
문제 설명
두 정수 a, b가 주어질 때 다음과 같은 형태의 계산식을 출력하는 코드를 작성해 보세요.
a + b = c
풀이
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int b = sc.nextInt();
System.out.println(a+" + "+b+" = "+(a + b));
}
}