일상적 이야기들.

codewar: Where is THB? 본문

프로그래밍/알고리즘 문제풀이

codewar: Where is THB?

noveljava 2019. 7. 2. 12:00

문제

 - https://www.codewars.com/kata/where-is-thb

 

Codewars: Train your coding skills

Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential.

www.codewars.com

문제 풀이

 - input값으로 들어오는 문자열에서 't', 'h', 'b'를 찾아내는 문제입니다.

  - 해당 문자를 제외하고, replace를 통하는 방법이 있고, 아니면 문자열에서 문자를 하나씩 검토를 하면서 우리가 찾고자하는 문자가 있다면 result String에 덧붙혀나가는 방식이 있을 수 있습니다. ( 저는 후자를 선택하였습니다. )

 

 - initial 은 "" / null 도 포함이 되며, 이런 경우에는 "" 를 return 하도록 요구를 하고 있습니다.

 - initial을 char형으로 변경하여 c로 한글자씩 받아와서 처리를 할 것입니다.

  - 이때, t, b, h 와 T, B, H 와 같이 대소문자를 구분하여 처리를 해줘야합니다. 

   - 하나씩 다 추가를 한다면 소스의 길이가 길어지므로, Character.toLowerCase를 이용하여 비교를 합니다. ( 'T' -> 't' 로 변환이 되어 switch문에서 구분이 됩니다. )

 

public class THB {
  public static String testing(String initial) {
    //Don't goof it up!
    if( null == initial ) {
      initial = "";
    }
    
    String resultStr = "";
    
    for( char c : initial.toCharArray() ) {
      switch( Character.toLowerCase(c) ) {
        case 't': resultStr += c; break;
        case 'h': resultStr += c; break;
        case 'b': resultStr += c; break;
      }
    }
    
    return resultStr;
  }
}  

 

'프로그래밍 > 알고리즘 문제풀이' 카테고리의 다른 글

codewar: Sum of Parts  (0) 2019.07.02
codewar: Convert a String to Number!  (0) 2019.07.02
codewar: Remove First and Last Character  (0) 2019.06.25
codewar: Fun with lists:indexOf  (0) 2019.06.25
codewar: int32 to IPv4  (0) 2019.06.21
Comments