Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Tags more
Archives
Today
Total
관리 메뉴

요리사에서 IT개발자로

수박수박수박수박수박수? (Java) 본문

Code Kata

수박수박수박수박수박수? (Java)

H.S-Backend 2024. 5. 22. 09:56

문제 설명

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

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

 

 

n이 1이라면 i는 초기값만 if문으로 반복이 가능하다

i%2 가 n이 1이라는 가정하에 0이라면 i%2==0이므로 answer += "수"가 입력

n이 2라면 i는 0, 1 이 입력되어 반복을통해

i%2 n은 0 이므 answer +="수" , 1%2 ==1 이므로 answer +="박"이 입력된다.

 

다른사람의 풀이

 

  1. new char[n/2 + 1]: 길이가 n/2 + 1인 char 배열을 생성합니다. 이 배열은 기본적으로 null 문자 ('\0')로 채워져 있습니다.
  2. new String(new char[n/2 + 1]): 이 char 배열을 문자열로 변환합니다. 변환된 문자열은 '\0' 문자들로 이루어져 있습니다.
  3. .replace("\0", "수박"): 문자열의 모든 '\0' 문자를 "수박"으로 대체합니다. 결과적으로 "수박"이 반복된 문자열이 만들어집니다. 예를 들어, n이 5라면, new char[3]이 생성되고, "수박수박수박"이 됩니다.
  4. .substring(0, n): 위에서 생성된 문자열의 처음부터 n번째 문자까지의 부분 문자열을 반환합니다.

n이 5라면

  • new char[n/2 + 1]은 new char[3]이 됩니다.
  • new String(new char[3])은 "\0\0\0" 문자열이 됩니다.
  • "\0\0\0".replace("\0", "수박")은 "수박수박수박" 문자열이 됩니다.
  • "수박수박수박".substring(0, 5)은 "수박수박수" 문자열이 됩니다.

 

https://github.com/Hyungs0703/Algorithms_J.S

 

GitHub - Hyungs0703/Algorithms_J.S: This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https:/

This is an auto push repository for Baekjoon Online Judge created with [BaekjoonHub](https://github.com/BaekjoonHub/BaekjoonHub). - Hyungs0703/Algorithms_J.S

github.com

 

반응형