โฐ๋ฌธ์
๋ง์ , ๋บ์ ์์๋ค์ด 'X [์ฐ์ฐ์] Y = Z' ํํ๋ก ๋ค์ด์๋ ๋ฌธ์์ด ๋ฐฐ์ด quiz๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง๋๋ค. ์์์ด ์ณ๋ค๋ฉด "O"๋ฅผ ํ๋ฆฌ๋ค๋ฉด "X"๋ฅผ ์์๋๋ก ๋ด์ ๋ฐฐ์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- ์ฐ์ฐ ๊ธฐํธ์ ์ซ์ ์ฌ์ด๋ ํญ์ ํ๋์ ๊ณต๋ฐฑ์ด ์กด์ฌํฉ๋๋ค. ๋จ ์์๋ฅผ ํ์ํ๋ ๋ง์ด๋์ค ๊ธฐํธ์ ์ซ์ ์ฌ์ด์๋ ๊ณต๋ฐฑ์ด
์กด์ฌํ์ง ์์ต๋๋ค.
- 1 ≤ quiz์ ๊ธธ์ด ≤ 10
- X, Y, Z๋ ๊ฐ๊ฐ 0๋ถํฐ 9๊น์ง ์ซ์๋ก ์ด๋ฃจ์ด์ง ์ ์๋ฅผ ์๋ฏธํ๋ฉฐ, ๊ฐ ์ซ์์ ๋งจ ์์ ๋ง์ด๋์ค ๊ธฐํธ๊ฐ ํ๋ ์์ ์ ์๊ณ
์ด๋ ์์๋ฅผ ์๋ฏธํฉ๋๋ค.
- X, Y, Z๋ 0์ ์ ์ธํ๊ณ ๋ 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.
- -10,000 ≤ X, Y ≤ 10,000
- -20,000 ≤ Z ≤ 20,000
- [์ฐ์ฐ์]๋ + ์ - ์ค ํ๋์ ๋๋ค.
์ ์ถ๋ ฅ ์
quiz | result |
["3 - 4 = -3", "5 + 6 = 11"] | ["X", "O"] |
["19 - 6 = 13", "5 + 66 = 71", "5 - 15 = 63", "3 - 1 = 2"] | ["O", "O", "X", "O"] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- 3 - 4 = -3 ์ ํ๋ฆฐ ์์์ด๋ฏ๋ก "X", 5 + 6 = 11 ์ ์ณ์ ์์์ด๋ฏ๋ก "O" ์ ๋๋ค. ๋ฐ๋ผ์ ["X", "O"]๋ฅผ returnํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- 19 - 6 = 13 ์ ์ณ์ ์์์ด๋ฏ๋ก "O", 5 + 66 = 71 ์ ์ณ์ ์์์ด๋ฏ๋ก "O", 5 - 15 = 63 ์ ํ๋ฆฐ ์์์ด๋ฏ๋ก "X", 3 - 1 = 2๋ ์ณ์ ์์์ด๋ฏ๋ก "O" ๋ฐ๋ผ์ ["O", "O", "X", "O"]๋ฅผ returnํฉ๋๋ค.
๐กํ์ด
๐ ์ ๊ทผ
1. ๋ฌธ์์ด ๋ฐฐ์ด quiz์ ๊ฐ ์์์ ์ซ์์ ์ฐ์ฐ์๋ง ๋จ๊ฒจ ์๋ก์ด 2์ฐจ์ด ๋ฐฐ์ด์ ๋ด๋๋ค.
2. ๋ฐฐ์ด 0, 2๋ฒ์งธ๋ฅผ 1๋ฒ์งธ ๋ถํธ๋ก ๊ณ์ฐ -> ๋ฐฐ์ด 4๋ฒ์งธ๋ ๊ฐ๋ค๋ฉด "O" / ๋ค๋ฅด๋ค๋ฉด "X"
โญ์ ์ถ ์ฝ๋
class Solution {
public String[] solution(String[] quiz) {
/*
1. ๋ฌธ์์ด ๋ฐฐ์ด quiz์ ๊ฐ ์์์ ์ซ์์ ์ฐ์ฐ์๋ง ๋จ๊ฒจ ์๋ก์ด 2์ฐจ์ด ๋ฐฐ์ด์ ๋ด์
2. ๋ฐฐ์ด 0, 2๋ฒ์งธ๋ฅผ 1๋ฒ์งธ ๋ถํธ๋ก ๊ณ์ฐ -> ๋ฐฐ์ด 4๋ฒ์งธ๋ ๊ฐ๋ค๋ฉด "O" / ๋ค๋ฅด๋ค๋ฉด "X"
*/
String[][] str_arr = new String[quiz.length][5];
String[] answer = new String[quiz.length];
for(int i=0; i<quiz.length; i++){
str_arr[i] = quiz[i].split(" ");
int result = 0;
if(str_arr[i][1].equals("+")){
result = Integer.parseInt(str_arr[i][0]) + Integer.parseInt(str_arr[i][2]);
if(result == Integer.parseInt(str_arr[i][4])){
answer[i] = "O";
}else{
answer[i] = "X";
}
}else if(str_arr[i][1].equals("-")){
result = Integer.parseInt(str_arr[i][0]) - Integer.parseInt(str_arr[i][2]);
if(result == Integer.parseInt(str_arr[i][4])){
answer[i] = "O";
}else{
answer[i] = "X";
}
}
}
return answer;
}
}
๐ง ์ฝ๋ ํ์ด
1. str_arr[ ][ ] : ๋ฌธ์์ด ๋ฐฐ์ด quiz์ ๊ฐ ์์์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ๋๋์ด ์ซ์์ ์ฐ์ฐ์๋ง ๋จ๊ฒจ 2์ฐจ์ ๋ฐฐ์ด์ ๋ด๊ธฐ ์ํ ๋ณ์
2. str_arr[i]์ 1๋ฒ ๊ฐ์ "+" or "-"์ด๋ฏ๋ก ๋ ๊ฐ์ง์ ๊ฒฝ์ฐ๋ก ๋๋์ด if๋ฌธ์ ์์ฑํ๋ค.
3. str_arr[i]์0๋ฒ์งธ, 2๋ฒ์งธ ๊ฐ์ ๊ฐ ๋ถํธ์ ๋ง๊ฒ ๊ณ์ฐํ์ฌ intํ ๋ณ์ result์ ๋ด๋๋ค.
4. result์ ๊ฐ๊ณผ 4๋ฒ์งธ ๊ฐ์ ์ผ์น ์ฌ๋ถ์ ๋ฐ๋ผ์ "O" or "X"๋ฅผ answer์ ๋ด๋๋ค.
'๐ Algorithm > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ์จ์ด์๋ ์ซ์์ ๋ง์ (2)(์๋ฐ) (0) | 2023.04.18 |
---|---|
[Programmers] ์ต๋๊ฐ ๋ง๋ค๊ธฐ(2)(์๋ฐ) (0) | 2023.04.16 |
[Programmers] ์ ๊ณฑ์ ํ๋ณํ๊ธฐ(์๋ฐ) (0) | 2023.04.07 |
[Programmers] ๋ฌธ์์ด ์ ๋ ฌํ๊ธฐ(2)(์๋ฐ) (0) | 2023.04.07 |
[Programmers] ์์ด๊ฐ ์ซ์ด์(์๋ฐ) (0) | 2023.04.05 |