본문 바로가기
프로그래머스/0단계

수 조작하기 2

by 긴가우딘 2025. 1. 12.

문제 설명

정수 배열 numLog가 주어집니다. 처음에 numLog[0]에서 부터 시작해 "w", "a", "s", "d"로 이루어진 문자열을 입력으로 받아 순서대로 다음과 같은 조작을 했다고 합시다.

  • "w" : 수에 1을 더한다.
  • "s" : 수에 1을 뺀다.
  • "d" : 수에 10을 더한다.
  • "a" : 수에 10을 뺀다.

그리고 매번 조작을 할 때마다 결괏값을 기록한 정수 배열이 numLog입니다. 즉, numLog[i]는 numLog[0]로부터 총 i번의 조작을 가한 결과가 저장되어 있습니다.

주어진 정수 배열 numLog에 대해 조작을 위해 입력받은 문자열을 return 하는 solution 함수를 완성해 주세요.

 


 

문제 읽으면서 생각 정리

  1. 이번엔 숫자 배열을 문자열로
  2. switch-case문으로 하니 if 문이 더 쉽겠다 판단
  3. 이전 수보다 1 크면 w
                        1 작으면 s
                        10 크면 d
                        10 작으면 a
class Solution {
    public String solution(int[] numLog) {
        String[] answerArr = new String[numLog.length-1];
        
        for(int i=0; i<numLog.length - 1; i++) {
            if(numLog[i] + 1 == numLog[i+1]) {
                answerArr[i] = "w";
            }
            else if(numLog[i] - 1 == numLog[i+1]) {
                answerArr[i] = "s";
            }
            else if(numLog[i] + 10 == numLog[i+1]) {
                answerArr[i] = "d";
            }
            else {
                answerArr[i] = "a";
            }
        }
        
        String answer = String.join("",answerArr);
        
        return answer;
    }
}

 

'프로그래머스 > 0단계' 카테고리의 다른 글

수열과 구간 쿼리 2  (0) 2025.01.13
수열과 구간 쿼리 3  (2) 2025.01.13
수 조작하기 1  (0) 2025.01.12
마지막 두 원소  (0) 2025.01.12
이어 붙인 수  (0) 2025.01.09