🗣️ 메모
switch ~ case문 사용법을 확실히 알게 됨 ,,
✏️ [수 조작하기]
정수 n과 문자열 control이 주어집니다. control은 "w", "a", "s", "d"의 4개의 문자로 이루어져 있으며, control의 앞에서부터 순서대로 문자에 따라 n의 값을 바꿉니다.
- "w" : n이 1 커집니다.
- "s" : n이 1 작아집니다.
- "d" : n이 10 커집니다.
- "a" : n이 10 작아집니다.
위 규칙에 따라 n을 바꿨을 때 가장 마지막에 나오는 n의 값을 return 하는 solution 함수를 완성해 주세요.
제한사항
- -100,000 ≤ n ≤ 100,000
- 1 ≤ control의 길이 ≤ 100,000
- control은 알파벳 소문자 "w", "a", "s", "d"로 이루어진 문자열입니다.
입출력 예
ncontrolresult
0 | "wsdawsdassw" | -1 |
입출력 예 설명
입출력 예 #1
- 수 n은 control에 따라 다음과 같은 순서로 변하게 됩니다.
- 0 → 1 → 0 → 10 → 0 → 1 → 0 → 10 → 0 → -1 → -2 → -1
- 따라서 -1을 return 합니다.
🔥 TRY #1
👉🏻 문법에는 틀린 게 없는 것 같은데 자꾸 오류가 떠서 뭐가 문제지 하고 한참 봤음,,
class Solution {
public int solution(int n, String control) {
for(int i=0; i < control.length(); i++) {
String index = control.substring(i, i+1);
switch (index) {
case w : n += 1; break;
case s : n -= 1; break;
case d : n += 10; break;
case a : n -= 10; break;
default : break;
}
}
return n;
}
}
👉🏻 문제는 [ 스트링을 따옴표 없이 써서 ]였음,, 머쓱강쥐
class Solution {
public int solution(int n, String control) {
for(int i=0; i < control.length(); i++) {
String index = control.substring(i, i+1);
switch (index) {
case "w" : n += 1; break;
case "s" : n -= 1; break;
case "d" : n += 10; break;
case "a" : n -= 10; break;
default : break;
}
}
return n;
}
}
🎉🎊💫✨⚡️⭐️🌟 [실행 결과]
출처: 프로그래머스 코딩 테스트 연습,https://school.programmers.co.kr/learn/challenges
코딩테스트 연습 | 프로그래머스 스쿨
개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!
school.programmers.co.kr