본문 바로가기
알고리즘/코딩 - 프로그래머스

[Java][프로그래머스][Level 1] 수박수박수박수박수박수?

by 주남2 2019. 4. 3.
반응형

문제 설명

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

 

제한 조건

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

생각

단순한 문제같다. String에서도 + 연산자가 사용 가능한 것을 이용하여 문제 풀이 방법을 생각하였다. 처음에 answer을 빈 String으로 만들어주고 1부터 n까지 for문을 써서 홀수일때는 수를 더하고 짝수일때는 짝을 더하는 방법을 사용했다.

예를 들어 n을 7이라고 하면 1,3,5,7에서는 수를 더해주고 2,4,6에서는 짝을 더해줘서 수박수박수박수가 나올 것이다.

 

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
      public String solution(int n) {
          String answer = "";
          
          String su = "수";
          String bak = "박";
          
          for(int i=1; i<=n; i++) {
              if(i%2!=0) {
                  answer += su;
              } else {
                  answer += bak;
              }
          }
          
          return answer;
      }
    }
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 

코드를 줄이기 위해서는 삼항 연산자를 사용하면 된다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
class Solution {
      public String solution(int n) {
          String answer = "";
          
          String su = "수";
          String bak = "박";
          
          //처음에 수를 더해야 하므로 조건을 i%2!=0으로 한다.
          for(int i=1; i<=n; i++) {
              answer += i%2!=0 ? su : bak ;
          }
          
          return answer;
      }
    }
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4f; text-decoration:none">Colored by Color Scripter
 
반응형