1️⃣ 옹알이

문제 설명

머쓱이는 태어난 지 6개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음을 최대 한 번씩 사용해 조합한(이어 붙인) 발음밖에 하지 못합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요.

 

 

제한사항

   -  1 ≤ babbling의 길이 ≤ 100

   -  1 ≤ babbling[i]의 길이 ≤ 15

   -  babbling의 각 문자열에서 "aya", "ye", "woo", "ma"는 각각 최대 한 번씩만 등장합니다.

   -  즉, 각 문자열의 가능한 모든 부분 문자열 중에서 "aya", "ye", "woo", "ma"가 한 번씩만 등장합니다.

   -  문자열은 알파벳 소문자로만 이루어져 있습니다.

 

 

입출력 예

babblingresult

babbling result
["aya", "yee", "u", "maa", "wyeoo"] 1
["ayaye", "uuuma", "ye", "yemawoo", "ayaa"] 3

 

 

입출력 예 설명

  입출력 예 #1

  • ["aya", "yee", "u", "maa", "wyeoo"]에서 발음할 수 있는 것은 "aya"뿐입니다. 따라서 1을 return합니다.

  입출력 예 #2

  • ["ayaye", "uuuma", "ye", "yemawoo", "ayaa"]에서 발음할 수 있는 것은 "aya" + "ye" = "ayaye", "ye", "ye" + "ma" + "woo" = "yemawoo"로 3개입니다. 따라서 3을 return합니다.

 

유의사항

   -  네 가지를 붙여 만들 수 있는 발음 이외에는 어떤 발음도 할 수 없는 것으로 규정합니다.

      예를 들어 "woowo"는 "woo"는 발음할 수 있지만 "wo"를 발음할 수 없기 때문에 할 수 없는 발음입니다.

 


 

💻 나의 풀이

class Solution {
    public int solution(String[] babbling) {
        String[] str = {"aya", "ye", "woo", "ma"};
        int answer = 0;
        
        for(int i=0; i<babbling.length; i++){
            for(int j=0; j<str.length; j++){   // 발음 가능한 단어들을 찾아서
                babbling[i] = babbling[i].replace(str[j], " ");   // 공백으로 대체
            }
            
            if(babbling[i].trim().length() == 0){  // 양쪽의 공백 제거
                answer++;
            }
        }
        return answer;
    }
}

 

 

 🔎 다른 사람의 풀이

class Solution {
    public int solution(String[] babbling) {
        int answer = 0;

        for(int i =0; i < babbling.length; i++) {
            babbling[i] = babbling[i].replace("aya", "1");
            babbling[i] = babbling[i].replace("woo", "1");
            babbling[i] = babbling[i].replace("ye", "1");
            babbling[i] = babbling[i].replace("ma", "1");
            babbling[i] = babbling[i].replace("1", "");
            if(babbling[i].isEmpty()) {
                answer = answer + 1;
            }
        }

        return answer;
    }
}

 

 

 


 

 

2️⃣ 두 수의 합

 

문제 설명

정수 num1과 num2가 주어질 때, num1과 num2의 합을 return하도록 soltuion 함수를 완성해주세요.

 

제한사항

  • -50,000 ≤ num1 ≤ 50,000
  • -50,000 ≤ num2 ≤ 50,000

입출력 예

num1 num2 result
2 3 5
100 2 102

 

  • num1이 2이고 num2가 3이므로 2 + 3 = 5를 return합니다.
  • num1이 100이고 num2가 2이므로 100 + 2 = 102를 return합니다.

 

💻 나의 풀이

class Solution {
    public int solution(int num1, int num2) {
        return num1 + num2;
    }
}

 

 

 

 


 

 

 

3️⃣ 두 수의 차

문제 설명

정수 num1과 num2가 주어질 때, num1에서 num2를 뺀 값을 return 하도록 soltuion 함수를 완성해 주세요.

 

제한사항

  • -50,000 ≤ num1 ≤ 50,000
  • -50,000 ≤ num2 ≤ 50,000

입출력 예

num1 num2 result
2 3 -1
100 2 98

 

  • num1이 2이고 num2가 3이므로 2 - 3 = -1를 return합니다.
  • num1이 100이고 num2가 2이므로 100 - 2 = 98를 return합니다.

 


 

 

💻 나의 풀이

class Solution {
    public int solution(int num1, int num2) {
        return num1 - num2;
    }
}

 

 

 


 

 

4️⃣ 두 수의 곱

문제 설명

정수 num1num2가 매개변수 주어집니다. num1과 num2를 곱한 값을 return 하도록 solution 함수를 완성해주세요.

 

제한사항

  • 0 ≤ num1 ≤ 100
  • 0 ≤ num2 ≤ 100
  •  

입출력 예

num1 num2 result
3 4 12
27 19 513

 

  • num1이 3, num2가 4이므로 3 * 4 = 12를 return합니다.
  • num1이 27, num2가 19이므로 27 * 19 = 513을 return합니다.

 


 

 

💻 나의 풀이

class Solution {
    public int solution(int num1, int num2) {
        return num1*num2;
    }
}

 

 

 

 🔎 다른 사람의 풀이

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        if(0<=num1 && 100>=num1 && 0<=num2 && 100>=num2){
         answer = num1 * num2;
        }
        return answer;
    }
}

 

 

 


 

 

 

5️⃣ 몫 구하기

문제 설명

정수 num1num2가 매개변수로 주어질 때, num1을 num2로 나눈 몫을 return 하도록 solution 함수를 완성해주세요.

 

제한사항

  • 0 < num1 ≤ 100
  • 0 < num2 ≤ 100

입출력 예

num1 num2 result
10 5 2
7 2 3

 

  • num1이 10, num2가 5이므로 10을 5로 나눈 몫 2를 return 합니다.
  • num1이 7, num2가 2이므로 7을 2로 나눈 몫 3을 return 합니다.


 

 

💻 나의 풀이

class Solution {
    public int solution(int num1, int num2) {
        int answer = 0;
        if(0<num1 && 100>=num1 && 0<num2 && 100>=num2){
            answer = num1/num2;
        }
        return answer;
    }
}

'프로그래머스 > 0단계' 카테고리의 다른 글

DAY6 문자열, 반복문, 출력, 배열, 조건문  (1) 2023.11.23
DAY5 수학, 배열  (1) 2023.11.23
DAY4 수학, 배열  (0) 2023.11.22
DAY3 사칙연산, 배열, 수학  (0) 2023.11.22
DAY2 사칙연산, 조건문, 배열  (1) 2023.11.21
xoo | 수진