๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/147355
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด t์ p๊ฐ ์ฃผ์ด์ง ๋, t์์ p์ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ถ๋ถ๋ฌธ์์ด ์ค์์, ์ด ๋ถ๋ถ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์๊ฐ p๊ฐ ๋ํ๋ด๋ ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฒ์ด ๋์ค๋ ํ์๋ฅผ return ํ๋ ํจ์ solution์ ์์ฑํ์ธ์.
์๋ฅผ ๋ค์ด, t="3141592"์ด๊ณ p="271" ์ธ ๊ฒฝ์ฐ, t์ ๊ธธ์ด๊ฐ 3์ธ ๋ถ๋ถ ๋ฌธ์์ด์ 314, 141, 415, 159, 592์ ๋๋ค. ์ด ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์ ์ค 271๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์๋ 141, 159 2๊ฐ์ ๋๋ค.
์ ํ ์ฌํญ
- 1 ≤ p์ ๊ธธ์ด ≤ 18
- p์ ๊ธธ์ด ≤ t์ ๊ธธ์ด ≤ 10,000
- t์ p๋ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๋ฉฐ, 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
t | p | result |
"3141592" | "271" | 2 |
"500220839878" | "7" | 8 |
"10203" | "15" | 3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ณธ๋ฌธ๊ณผ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
- p์ ๊ธธ์ด๊ฐ 1์ด๋ฏ๋ก t์ ๋ถ๋ถ๋ฌธ์์ด์ "5", "0", 0", "2", "2", "0", "8", "3", "9", "8", "7", "8"์ด๋ฉฐ ์ด์ค 7๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ซ์๋ "5", "0", "0", "2", "2", "0", "3", "7" ์ด๋ ๊ฒ 8๊ฐ๊ฐ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #3
- p์ ๊ธธ์ด๊ฐ 2์ด๋ฏ๋ก t์ ๋ถ๋ถ๋ฌธ์์ด์ "10", "02", "20", "03"์ด๋ฉฐ, ์ด์ค 15๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ซ์๋ "10", "02", "03" ์ด๋ ๊ฒ 3๊ฐ์ ๋๋ค. "02"์ "03"์ ๊ฐ๊ฐ 2, 3์ ํด๋นํ๋ค๋ ์ ์ ์ฃผ์ํ์ธ์.
๋ด๊ฐ ์์ฑํ ์ฝ๋
class Solution {
public int solution(String t, String p) {
// ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ถ๋ถ ๋ฌธ์์ด ๊ฐ์
int answer = 0;
// ๋ฌธ์์ด t์์ p์ ๊ฐ์ ๊ธธ์ด๋งํผ ๋ถ๋ถ ๋ฌธ์์ด์ ์ํ
for (int i = 0; i < t.length() - p.length() + 1; i++) {
// i๋ถํฐ i+p.length()๊น์ง ์๋ผ๋ธ ๋ถ๋ถ ๋ฌธ์์ด
String subString = t.substring(i, i + p.length());
// ๋ถ๋ถ ๋ฌธ์์ด๊ณผ p๋ฅผ Long ํ์
์ผ๋ก ๋ณํํ์ฌ ๋น๊ต
if (Long.parseLong(subString) <= Long.parseLong(p)) {
// ์กฐ๊ฑด ๋ง์กฑ ์ answer +1
answer++;
}
}
// answer ๋ฐํ
return answer;
}
}
๋ฌธ์ ๋ฅผ ํ๊ธฐ ์ํด ์๊ฐํ ๋ฐฉํฅ
๋ถ๋ถ ๋ฌธ์์ด์ ํ์ฉํด์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฌธ์์ด ๊ฐ์๋ฅผ ๊ตฌํ๋ฉด ๋์ง ์์๊น?
์กฐ๊ฑด์ ๋ง์กฑํ ๋๋ง๋ค answer๋ฅผ 1 ์ฆ๊ฐ์ํค๋ฉด ๋๊ฒ ๋ค. ๋ถ๋ถ ๋ฌธ์์ด์ ํ์ฉํ๋ ค๋ฉด substring์ ์ฌ์ฉํด์ผ๊ฒ ๋ค.
p์ ๊ธธ์ด๊ฐ 18์๋ฆฌ๊น์ง ๊ฐ๋ฅํ๋๊น int์ ๋ฒ์๋ฅผ ๋ฒ์ด๋๋ Long ํ์
์ผ๋ก ๋ณ๊ฒฝํด์ ๋น๊ตํด์ผ๊ฒ ๋ค.
'๐งฉ ํ๋ก๊ทธ๋๋จธ์ค > ๐ต ์๊ณ ๋ฆฌ์ฆ ํ์ด(Java)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ๋ค์ ํฐ ์ซ์ (1) | 2025.04.16 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ซ์์ ํํ (0) | 2025.04.16 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ด์ง ๋ณํ ๋ฐ๋ณตํ๊ธฐ (1) | 2025.04.14 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ์ฃผ์๊ฐ๊ฒฉ (4) | 2025.04.11 |
[ํ๋ก๊ทธ๋๋จธ์ค/Java] ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ (2) | 2025.04.10 |