본문 바로가기
Algorithm/프로그래머스

[프로그래머스]연습문제 : 수박수박수박수박수박수? (level 1)

by HBGB 2019. 11. 6.

https://programmers.co.kr/learn/courses/30/lessons/12922

 

코딩테스트 연습 - 수박수박수박수박수박수? | 프로그래머스

길이가 n이고, 수박수박수박수....와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다. 제한 조건 n은 길이 10,000이하인 자연수입니다. 입출력 예 n return 3 수박수 4 수박수박

programmers.co.kr

 

 

방법 1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Solution {
  public String solution(int n) {
 
    StringBuilder sb = new StringBuilder();
    
    // 몫, 나머지 구하기
    int iQuotient = n / 2;
    int iRest = n % 2;
 
    for (int i = 0; i < iQuotient; i++) {
        sb.append("수박");
    }
 
    if (iRest == 1) {
        sb.append("수");
    }
 
    return sb.toString();
  }
}
Colored by Color Scripter

 

방법 2

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
  public String solution(int n) {
 
    StringBuilder sb = new StringBuilder();
 
    for (int i = 0; i < n; i++) {
      sb.append(((i % 2 == 0) ? "수" : "박"));
 
    }
    return sb.toString();
  }
}
Colored by Color Scripter

 

 

속도는 큰 차이가 없다.

그렇다면 방법 2가 더 나은 듯하다. 

댓글