1주차 코딩테스트 풀이

인소리·2023년 4월 4일
0

Coding Test

목록 보기
10/13

1. 가운데 글자 가져오기🅱🅰

문제설명📝

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

제한사항📍

  • s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예🖨

sreturn
"abcde""c"
"qwer""we"

코드📃

class Solution {
    public String solution(String s) {
        String answer = "";
        int len;
        if(s.length() % 2 == 0) {
            len = s.length()/2 - 1;
            answer = s.substring(len, len+2);
        }
        else {
            len = s.length()/2;
            answer = s.substring(len, len+1);
        }
        return answer;
    }
}

코드 풀이🔍

문자열의 길이가 짝수이면 (문자열 길이)/2-1을 len에 넣어서 substring() 메소드를 사용해 len부터 len+1까지의 문자열을 answer에 넣어주었다. 반대로 홀수이면 (문자열 길이)/2를 len에 넣어서 len 위치의 한 글자를 answer에 넣어주었다.



2. 수박수박수박수박수박수?🍉

문제설명📝

길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

제한사항📍

  • n은 길이 10,000이하인 자연수입니다.

입출력 예🖨

nreturn
3"수박수"
4"수박수박"

코드📃

class Solution {
    public String solution(int n) {
        String answer = "";
        for(int i = 0; i < n; i++) {
            if(i % 2 == 0) answer += "수";
            else answer += "박";
        }
        return answer;
    }
}

코드 풀이🔍

for문을 사용해 n만큼 반복하게 하여 0부터 시작했을 때, i가 짝수면 answer에 "수"를 더해주고 홀수면 "박"을 더해주게 하였다.



3. 내적❎

문제설명📝

길이가 같은 두 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의 길이)

제한사항📍

  • a, b의 길이는 1 이상 1,000 이하입니다.
  • a, b의 모든 수는 -1,000 이상 1,000 이하입니다.

입출력 예🖨

abresult
[1,2,3,4][-3,-1,0,2]3
[-1,0,1][1,0,-1]-2

코드📃

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

코드 풀이🔍

배열 a와 b의 길이는 같기 때문에 for문의 조건은 a, b 중 어느 배열의 길이여도 상관 없다. 반복문 안에는 문제 설명대로 배열 a와 b의 같은 위치의 원소를 곱하여 answer에 더해주었다.

profile
코딩이라는 감옥에 갇혀 사는 삶

0개의 댓글