๐ง ๋ฌธ์ ์ด๋ฆ
์ ์กฐ์ํ๊ธฐ 2
๐งพ ๋ฌธ์ ์ค๋ช
์ ์ ๋ฐฐ์ด numLog๊ฐ ์ฃผ์ด์ง๋๋ค. ์ฒ์์ numLog[0]์์ ๋ถํฐ ์์ํด "w", "a", "s", "d"๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ ์ ๋ ฅ์ผ๋ก ๋ฐ์ ์์๋๋ก ๋ค์๊ณผ ๊ฐ์ ์กฐ์์ ํ๋ค๊ณ ํฉ์๋ค.
- "w" : ์์ 1์ ๋ํ๋ค.
- "s" : ์์ 1์ ๋บ๋ค.
- "d" : ์์ 10์ ๋ํ๋ค.
- "a" : ์์ 10์ ๋บ๋ค.
๊ทธ๋ฆฌ๊ณ ๋งค๋ฒ ์กฐ์์ ํ ๋๋ง๋ค ๊ฒฐ๊ด๊ฐ์ ๊ธฐ๋กํ ์ ์ ๋ฐฐ์ด์ด numLog์
๋๋ค. ์ฆ, numLog[i]๋ numLog[0]๋ก๋ถํฐ ์ด i๋ฒ์ ์กฐ์์ ๊ฐํ ๊ฒฐ๊ณผ๊ฐ ์ ์ฅ๋์ด ์์ต๋๋ค.
์ฃผ์ด์ง ์ ์ ๋ฐฐ์ด numLog์ ๋ํด ์กฐ์์ ์ํด ์
๋ ฅ๋ฐ์ ๋ฌธ์์ด์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
๐ค๐ป ์ ํ ์ฌํญ
- 2 ≤ numLog์ ๊ธธ์ด ≤ 100,000
- -100,000 ≤ numLog[0] ≤ 100,000
- 1 ≤ i ≤ numLog์ ๊ธธ์ด์ธ ๋ชจ๋ i์ ๋ํด |numLog[i] - numLog[i - 1]|์ ๊ฐ์ 1 ๋๋ 10์ ๋๋ค.
๐ฉ ์ ์ถ๋ ฅ ์์
- numLog : [0, 1, 0, 10, 0, 1, 0, 10, 0, -1, -2, -1], return : "wsdawsdassw"
result์ธ "wsdawsdassw"๋ฅผ ๋ฐ๋ผ numLog[0]์์๋ถํฐ ์์ํด ์กฐ์์ ํ๋ฉด numLog์ ๊ฐ๊ณผ ์์๋๋ก ์ผ์นํฉ๋๋ค. ๋ฐ๋ผ์ "wsdawsdassw"๋ฅผ return ํฉ๋๋ค
Hint ) "์ ์กฐ์ํ๊ธฐ 1" ๋ฌธ์ ์ n๊ฐ์ด numLog[0]์ ํด๋นํ๋ฉฐ, ์ด ๋ฌธ์ ์์ ์ฃผ์ด์ง numLog์ ๋ฐ๋ผ "์ ์กฐ์ํ๊ธฐ 1" ๋ฌธ์ ์ control์ ๊ตฌํ๋ ๋ฌธ์ ๋ผ๊ณ ์ดํดํ ์ ์์ต๋๋ค.
์
์ถ๋ ฅ ์ #1์ "์ ์กฐ์ํ๊ธฐ 1" ๋ฌธ์ ์ ์
์ถ๋ ฅ ์ #1๊ณผ ๊ฐ์ ์์์ด๋ฏ๋ก ์ฐธ๊ณ ํ์๊ธฐ ๋ฐ๋๋๋ค.
โ๏ธ ๋ฌธ์ ํ์ด
๐ for๋ฌธ ์ฌ์ฉ
1. ๋จผ์ ๋ฌธ์ ๋ฅผ ๋ณด๊ณ ๋ฐฐ์ด์ n + 1๋ฒ์งธ ์์ n๋ฒ์งธ ์์ ์ฐจ์ด๋ฅผ ๊ตฌํด์ผ ํ๋ค๋ ๊ฒ์ ์ ์ ์๋ค. -> for๋ฌธ์ ํตํด ์ด ์ฐจ์ด๋ฅผ j๋ผ๊ณ ์ ํด์ค๋ค.
2. ์ด์ ๋ถํฐ j ๊ฐ์ if, else-if๋ก ๋๋์ด ์ฐจ์ด์ ํด๋นํ๋ ๋ฌธ์์ด์ answer์ ๋ํด์ค๋ค.
class Solution {
public String solution(int[] numLog) {
String answer = "";
for (int i = 0; i < numLog.length - 1; i++) {
int j = numLog[i + 1] - numLog[i];
if (j == 1) {
answer += "w";
} else if (j == -1) {
answer += "s";
} else if (j == 10) {
answer += "d";
} else if (j == -10) {
answer += "a";
}
}
return answer;
}
}
๋น๊ต์ ์ฝ๊ณ ๋ฌธ์ ํ์ด์๋ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์๋ค.
๐ switch๋ฌธ ์ฌ์ฉ
๋ค๋ฅธ ๋ถ๋ค์ ํ์ด๋ก switch๋ฌธ ์ฌ์ฉ๋ ์์๋ค.
๋ค์์๋ ๋๋ switch๋ก ํ์ด์ผ์ง !
class Solution {
public String solution(int[] numLog) {
String answer = "";
for(int i=1; i<numLog.length; i++){
int j = numLog[i-1] - numLog[i];
switch(j){
case -1 : answer+='w'; break;
case 1 : answer+='s'; break;
case -10 : answer+='d'; break;
case 10 : answer+='a'; break;
}
}
return answer;
}
}
'๐ algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ด๊ณผ ๊ตฌ๊ฐ ์ฟผ๋ฆฌ 4 JAVA(์๋ฐ) ๋ฌธ์ ํ์ด ๐ (0) | 2023.09.26 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค | ์์ด๊ณผ ๊ตฌ๊ฐ ์ฟผ๋ฆฌ 2 (2) | 2023.09.19 |
ํ๋ก๊ทธ๋๋จธ์ค | ์ ์กฐ์ํ๊ธฐ1 JAVA(์๋ฐ) (1) | 2023.09.17 |
ํ๋ก๊ทธ๋๋จธ์ค | ๋ง์ง๋ง ๋ ์์ JAVA (์๋ฐ) (0) | 2023.09.16 |
ํ๋ก๊ทธ๋๋จธ์ค | ์ด์ด ๋ถ์ธ ์ JAVA(์๋ฐ) (0) | 2023.09.15 |