[프로그래머스level 0] 수 조작하기 1 (181926)-자바(Java)

SolChan Kim·2024년 3월 16일


문제풀이(control = "wsd"일 경우)

  • split()을 이용하여 주어진 문자열을
    ""간격으로 쪼갠 다음 배열을 만든다.
String[] str = control.split("");
  • String형 배열 str의 요소들은 다음과 같다.
str[0] = "w";
str[1] = "s";
str[2] = "d";
  • 향상된/개선된 for문 (for each)으로 배열(str)의 모든 요소를 순회하고
    if - else if문으로 조건을 확인한다.
// str의 요소들이 순차적으로 s에 할당된다.
for(String s : str){
	// s의 값이 "w"일 경우
	if(s.equals("w")){
    	n += 1;
    // s의 값이 "s"일 경우
    else if (s.equals("s")) {
    	n -= 1;
    // s의 값이 "d"일 경우    
    }else if (s.equals("d")) {
        n += 10;
    // 위 조건의 결과가 모두 false일 경우    
    }else{
    	n -= 10;
   }
}

// n(10) return
return n;
  • 위 코드를 자세히 살펴보면 다음과 같다.
str[0] = "w"; // n(0) + 1
str[1] = "s"; // n(1) - 1
str[2] = "d"; // n(0) + 10

코드

public class Ex_181926 {
  public static int solution(int n, String control) {
    String[] str = control.split("");

    for(String s : str){
      if(s.equals("w")){
        n += 1;
      }else if (s.equals("s")) {
        n -= 1;
      }else if (s.equals("d")) {
        n += 10;
      }else{
        n -= 10;
      }
    }

    return n;
}
  public static void main(String[] args) {
    int n = 0;
    String control = "wsdawsdassw";

    System.out.println(solution(n, control));
  }
}

0개의 댓글