TIL | [알고리즘] 수박수박수박수박수박수?(Java)

hyemin·2022년 3월 14일
0

알고리즘

목록 보기
19/38
post-thumbnail

THINKING

  1. 0부터 n만큼 반복하자 - for
  2. 인덱스가 짝수일 경우 홀수일 경우를 나누자 - if
    • 짝수(i % 2 == 0) : answer+="수"
    • 홀수(i % 2 == 1) : answer+="박"
  3. answer값을 return하자

내 풀이

class Solution {
    public String solution(int n) {
        String answer = "";
        for (int i = 0; i < n; i++) {
           answer+= (i % 2 == 0) ? "수" : "박";
        }
        return answer;
    }
}

다른 풀이

class Solution {
    public String solution(int n) {
        return new String(new char [n/2+1]).replace("\0", "수박").substring(0,n);
    }
}

비어있는 char[]을 생성하면 "\0"이 들어가있다.
"\0"을 "수박"으로 치환해주고 substring(0, n)으로 문자열을 0번째 부터 n-1번째까지 잘라내준다.

ex)

int n = 4;

new char[3];

// 결과값 : \0\0\0\0

new char[3].replace("\0", "수박");

// 결과값 : 수박수박수박수박

new char[3].replace("\0", "수박").substring(0, 4);

// 결과값 : 수박수박

배운 것

replace()

자바에서 문자열 치환을 할 때 사용하는 함수이다.

사용법

String exam = "나는 한국 사람입니다. 나는 성인입니다.";

// "나는"을 "저는"으로 바꾸기
exam = exam.replace("나는", "저는");
System.out.println(exam);
저는 한국 사람입니다. 저는 성인입니다.

0개의 댓글