반응형
https://programmers.co.kr/learn/courses/30/lessons/12922?language=java
<수박수박수박수박수박수?>
○ 처음 푼 풀이 (2020.02.09)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
class Solution {
public String solution(int n) {
String answer = "";
// 0부터 1씩 증가할 임의의 숫자 i 선언
int i = 0;
do {
answer += "수";
i++; // "수"를 찍을때마다 i값은 1씩 증가
if(n==i) break; // n이 i와 같아질때 반복문 벗어나기
else if(n>i) {
answer += "박";
i++; // "박"을 찍을때마다 i값은 1씩 증가
}
}while(n>i); // n이 i보다 클 때는 계속 반복하기
return answer;
}
}
|
cs |
- 길이가 n보다 작을때까지 "수", "박" 문자를 번갈아가며 n번 출력한다.
- 반복문을 사용하여 n(길이)만큼 돌리는데 그 수가 i(0부터 1씩 증가하는 변수 : 현재의 길이)랑 같아질 경우 종료한다.
- "수"랑 "박"을 이어서 출력할 경우 += 연산자를 통해 String을 더하여 출력 할 수 있다.
(이전 "박"까지 찍히고 난 이후에 "수"가 더해져야 하므로 9번 라인에도 +=연산자가 필요)
- "수"와 "박"이 하나씩 찍힐 때 마다 i값(현재의 길이)는 1씩 증가하게 되며, n(길이)가 아직 i(현재의 길이)보다 클 경우는 반복문을 계속 수행한다.
○ 좋아요를 많이 받은 풀이
1. subString()메소드를 사용하여 0번지 부터 n번지까지 문자 출력하기
2. StringBuffer()와 append()메소드를 사용사여 삼항 연산자로 풀이하기
3. for문과 삼항연산자를 이용하여 더 간단히 풀이해보기
재 풀이 (2020.04.20)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
class Solution {
public String solution(int n) {
String answer = "";
for(int i=1;i<=n;i++)
{
if(i%2==1)
answer += "수";
else
answer += "박";
}
return answer;
}
}
|
cs |
반응형
'코테 > 프로그래머스' 카테고리의 다른 글
소수 찾기/java/프로그래머스/Level1 (0) | 2020.02.15 |
---|---|
행렬의 덧셈/java/프로그래머스/Level1 (0) | 2020.02.12 |
평균 구하기/java/프로그래머스/level1 (0) | 2020.02.12 |
문자열을 정수로 바꾸기 /java/프로그래머스/Level1 (0) | 2020.02.09 |
직사각형 별찍기/java/프로그래머스/Level1 (0) | 2020.02.08 |