수박수박수박수박수박수? Level 1
이 문제는 푸는 방식이 정말 다양했다.
일단 join을 이용해 풀었는데 String API를 보니 concat 메소드로도 가능할 것 같다.
public class WaterMelon {
public String watermelon(int n){
String wm ="";
for(int i = 0; i<n; i++){
if(i%2==0)
wm = String.join("",wm,"수");
else
wm = String.join("",wm,"박");
}
return wm;
}
// 실행을 위한 테스트코드입니다.
public static void main(String[] args){
WaterMelon wm = new WaterMelon();
System.out.println("n이 3인 경우: " + wm.watermelon(3));
System.out.println("n이 4인 경우: " + wm.watermelon(4));
}
}
한줄 코딩
public class WaterMelon {
public String watermelon(int n){
return new String(new char [n/2+1]).replace("\0", "수박").substring(0,n);
//String을 [n/2+1] 의 문자열 크기로 만든 다음 "\0"인 내용들을 "수박"으로 바꾼다는 것.
// "\0" 은 null과 같은 표현으로 아스키 코드값 0x00을 나타낸다고 한다.
}
// 실행을 위한 테스트코드입니다.
public static void main(String[] args){
WaterMelon wm = new WaterMelon();
System.out.println("n이 3인 경우: " + wm.watermelon(3));
System.out.println("n이 4인 경우: " + wm.watermelon(4));
}
}
대단스....
아 그리고 String도 ' += ' 연산이 가능했다!
public class WaterMelon {
public String watermelon(int n){
String result="";
for(int i=0; i<n; i++){
result += i%2==0?"수":"박";
}
return result;
}
// 실행을 위한 테스트코드입니다.
public static void main(String[] args){
WaterMelon wm = new WaterMelon();
System.out.println("n이 3인 경우: " + wm.watermelon(3));
System.out.println("n이 4인 경우: " + wm.watermelon(4));
}
}
이 외에 문자열 동적 할당을 해주는 StringBuffer와 append를 이용한 방법도 있었다.
public class WaterMelon {
public String watermelon(int n){
StringBuffer sf = new StringBuffer();
for (int i=1; i<=n; ++i) {
sf.append(i%2==1?"수":"박");
}
return sf.toString();
}
// 실행을 위한 테스트코드입니다.
public static void main(String[] args){
WaterMelon wm = new WaterMelon();
System.out.println("n이 3인 경우: " + wm.watermelon(3));
System.out.println("n이 4인 경우: " + wm.watermelon(4));
}
}
'프로그래밍 > 알고리즘(자바)' 카테고리의 다른 글
소수 찾기 Level 2 #Math.sqrt #소수 (0) | 2018.05.06 |
---|---|
삼각형출력하기 Level 1 (0) | 2018.05.06 |
최대공약수와 최소공배수 Level 1 #유클리드 호제법 (0) | 2018.05.06 |
가운데 글자 가져오기 Level 1 #substring #length(),length,size() 차이 (0) | 2018.05.06 |
약수의 합 Level 1 (0) | 2018.05.06 |