코딩테스트

프로그래머스 코딩테스트(접두사인지 확인하기, 마지막 두 원소, 덧셈식 출력하기)

SOME코딩 2023. 5. 2. 13:51

<접두사인지 확인하기>

문제 설명
어떤 문자열에 대해서 접두사는 특정 인덱스까지의 문자열을 의미합니다. 예를 들어, "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));
    }
}