관리자 글쓰기
프로그래밍 문제 19번 수박수박수
2022. 9. 26. 19:01 - DoosanBaek

이 문제는 프로그래머스에서 제공된 문제를 풀이한 문제이며, 저작권은 프로그래머스에게 있습니다.

언어 : Java

문제번호 19번

문제 : 수박수박수박수박수박수?

문제 설명

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

제한 조건
  • n은 길이 10,000이하인 자연수입니다.
입출력 예시
n return
3 "수박수"
4 "수박수박"

 

Solution.java

class Solution {
    public String solution(int n) {
        String answer = "";

        for(int i  = 0; i < n; i++){
          if(i%2 ==1){
              answer += "박";
          }else
              answer += "수";
        }

        return answer;
    }
}

 

 

답안 도출과정:

1. 길이가 n이고, "수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수 라는 문제 설명, n은 길이 10,000이하인 자연수라는 제한조건을 읽고, 

int형 타입으로 n을 선언하고, 

String 타입으로 answer 를 선언하고, 값을 초기화 한다. 

2. 반복문 for 문을 이용하여 n의 길이만큼 for문을 돌리고,

3. 조건문 if 문을 이용하여 i를 2로 나누었을때의 나머지가 1인 경우는 answer에 "박" 이라는 글자를 string 형태로 입력하고

4. i를 2로 나누었을때의 나머지가 1이 아닌 경우는 answer에 "수" 라는 글자를 string 형태로 입력한다.

5.결과값을 answer로 리턴한다.

 

n값에 3을 넣고 실행했을때 박수박 이 결과 값으로 노출됨 ( i 를 2로 나눈 나머지가 1인 경우의 조건에 " 수" 가 아닌, "박"을  answer에 입력하는것으로 변경해야 함을 깨달음

변경후,

n 값에 3을 넣고 실행시 수박수가 노출됨 (= 문제에서 제시된 예시와 같은 결과 값)

 

실행메소드를 추가

class Solution19 {
    public String solution19(int n) {
        String answer = "";

        for(int i  = 0; i < n; i++){
          if(i%2 ==1){
              answer += "박";
          }else
              answer += "수";
        }

        return answer;
    }

    public static void main(String[] args) {
        Solution19 solution19 = new Solution19();
        int n =3;
        System.out.println(solution19.solution19(n));
    }
}