2023. 8. 14. 23:35ใ5. Algorithm
- ๋ฌธ์์ด ๋ด p์ y์ ๊ฐ์
1. ๋ฌธ์ ์ค๋ช
๋๋ฌธ์์ ์๋ฌธ์๊ฐ ์์ฌ์๋ ๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ง๋๋ค. s์ 'p'์ ๊ฐ์์ 'y'์ ๊ฐ์๋ฅผ ๋น๊ตํด ๊ฐ์ผ๋ฉด True, ๋ค๋ฅด๋ฉด False๋ฅผ return ํ๋ solution๋ฅผ ์์ฑํ์ธ์. 'p', 'y' ๋ชจ๋ ํ๋๋ ์๋ ๊ฒฝ์ฐ๋ ํญ์ True๋ฅผ ๋ฆฌํดํฉ๋๋ค. ๋จ, ๊ฐ์๋ฅผ ๋น๊ตํ ๋ ๋๋ฌธ์์ ์๋ฌธ์๋ ๊ตฌ๋ณํ์ง ์์ต๋๋ค.
์๋ฅผ ๋ค์ด s๊ฐ "pPoooyY"๋ฉด true๋ฅผ returnํ๊ณ "Pyy"๋ผ๋ฉด false๋ฅผ returnํฉ๋๋ค.
2. ์ ์ถ๋ ฅ ์
| s | answer |
| "pPoooyY" | true |
| "Pyy" | false |
3. ์ ํ์ฌํญ
- ๋ฌธ์์ด s์ ๊ธธ์ด : 50 ์ดํ์ ์์ฐ์
- ๋ฌธ์์ด s๋ ์ํ๋ฒณ์ผ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
4. ์ ์ถ๋ ฅ ์ ์ค๋ช
- ์
์ถ๋ ฅ ์ #1
'p'์ ๊ฐ์ 2๊ฐ, 'y'์ ๊ฐ์ 2๊ฐ๋ก ๊ฐ์ผ๋ฏ๋ก true๋ฅผ return ํฉ๋๋ค. - ์
์ถ๋ ฅ ์ #2
'p'์ ๊ฐ์ 1๊ฐ, 'y'์ ๊ฐ์ 2๊ฐ๋ก ๋ค๋ฅด๋ฏ๋ก false๋ฅผ return ํฉ๋๋ค.
[ ๋ด๊ฐํ ๋ฌธ์ ํ์ด ]
function solution(s) {
s = s.toUpperCase();
let P_count = 0;
let Y_count = 0;
for (let i = 0; i < s.length; i++) {
if (s[i] === 'P') {
P_count++;
} else if (s[i] === 'Y') {
Y_count++;
}
}
if (P_count === Y_count || (P_count === 0 && Y_count === 0)) {
return true;
} else {
return false;
}
}
+) ์ฝ๋์ ์ฃผ์์ ๋ํ๊ฒ.
function solution(s) {
// ๋๋ฌธ์๋ก ๋ณ๊ฒฝ
s = s.toUpperCase();
// // P_count์ Y_count๋ผ๋ ๋ณ์๋ฅผ ์ ์ธํ๊ณ 0์ผ๋ก ์ด๊ธฐํํฉ๋๋ค. ์ด ๋ณ์๋ค์ s์์ P์ Y์ ๊ฐ์๋ฅผ ์ ์ฅ
let P_count = 0;
let Y_count = 0;
// for๋ฌธ์ ์ฌ์ฉํ์ฌ s์ ๋ชจ๋ ๋ฌธ์๋ฅผ ์ํ
for (let i = 0; i < s.length; i++) {
// ๋ง์ฝ s์ i๋ฒ์งธ ๋ฌธ์๊ฐ 'P'๋ผ๋ฉด, P_count๋ฅผ 1 ์ฆ๊ฐ์ํต๋๋ค.
if (s[i] === 'P') {
P_count++;
// ๋ง์ฝ s์ i๋ฒ์งธ ๋ฌธ์๊ฐ 'Y'๋ผ๋ฉด, Y_count๋ฅผ 1 ์ฆ๊ฐ์ํต๋๋ค.
} else if (s[i] === 'Y') {
Y_count++;
}
}
// if๋ฌธ์ ์ฌ์ฉํ์ฌ P_count์ Y_count๊ฐ ๊ฐ๊ฑฐ๋, ๋ ๋ค 0์ด๋ฉด true๋ฅผ ๋ฆฌํดํฉ๋๋ค.
if (P_count === Y_count || (P_count === 0 && Y_count === 0)) {
return true;
// ๊ทธ๋ ์ง์์ผ๋ฉด false
} else {
return false;
}
}
JS๋ฌธ๋ฒ 1์ฃผ์ฐจ ์์ ๋ก ๋์จ ๋ฌธ์ ๋ผ ํ์ด์์๋ ์์๋ค. ์๋์ฒ๋ผ ํ์ด๋ณด๋ ์กฐ๊ธ๋ ์ฌ์ด๋ฐฉ๋ฒ์ด ๋์๋ค.
function solution(s) {
var answer = true;
// 1. ๋๋ฌธ์๋ก ํต์ผ
s=s.toUppercase();
// 2. for๋ฌธ์ ํตํด์ ๋ฌธ์์ด ์์ ํ๋ํ๋์ฉ์ ๋น๊ต
// 2-1. p,y ๋น๊ต
var num = 0;
for (var i=0; i<s.length; i++) {
// ์ฌ๊ธฐ์์ ๋น๊ต
if(s[i] === "P") {
num++;
}
if (s[i] === "Y") {
num--;
}
}
if ( num === 0 ) {
answer = true;
} else {
answer = false;
}
}
