[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Lv1. ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด

2023. 1. 20. 09:37ใ†์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค_2023

728x90

๋ฌธ์ œ ์„ค๋ช…

์ˆซ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด 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์— ํ•ด๋‹นํ•œ๋‹ค๋Š” ์ ์— ์ฃผ์˜ํ•˜์„ธ์š”

 

๋‚˜์˜ ํ’€์ด

public int solution(String t, String p) {
   int answer = 0;
   long intP = Long.parseLong(p);
   
   long[] ints = new long[t.length() - p.length() + 1];
   for (int i = 0; i< ints.length; i++)
   {
      ints[i] = Long.parseLong(t.substring(i, i + p.length()));
   }
   
   for (long anInt : ints)
   {
      if (anInt <= intP) {
         answer++;
      }
   }
   
   return answer;
}

์šฐ์„  ์ด ๋ฌธ์ œ๋ฅผ ์ƒ๊ฐํ–ˆ์„ ๋•Œ t๋ฅผ p์˜ ๊ธธ์ด๋งŒํผ ์ž˜๋ผ์„œ ๋น„๊ตํ•˜๊ธฐ ์œ„ํ•ด์„œ ์šฐ์„  subString ๋ฉ”์„œ๋“œ๊ฐ€ ์ƒ๊ฐ๋‚˜์„œ ์ด ๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ–ˆ๋‹ค. 

 

ํ…Œ์ŠคํŠธ๋Š” ์„ฑ๊ณต์ด์—ˆ๋Š”๋ฐ ์ •๋‹ต์„ ์ œ์ถœํ•˜๋ฉด ํŠน์ • ์ผ€์ด์Šค๋“ค์—์„œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์„œ ๋ญ”๊ฐ€ ํ•˜๊ณ  ์ฐพ์•„๋ดค๋”๋‹ˆ 

Long์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋ฉด ๋œ๋‹ค๊ธธ๋ž˜ ํ•ด๋ณด๋‹ˆ๊นŒ ์ •๋ง ๋๋‹ค..! 

 

์ด์œ ๋ฅผ ์ฐพ์•„๋ดค๋”๋‹ˆ Integer์˜ ์ตœ๋Œ€๊ฐ’์€ ์•ฝ 21์–ต์ž๋ฆฌ(10์ž๋ฆฌ)๊นŒ์ง€์ธ๋ฐ p์˜ ์ œํ•œ์‚ฌํ•ญ์ด ์ตœ๋Œ€ 18์ž๋ฆฌ๋ผ๊ณ  ์ฃผ์–ด์กŒ๊ธฐ ๋•Œ๋ฌธ์— 

Integer๋กœ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•ด์„œ ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ๋˜๊ฒƒ์ด๋‹ค.. 

๋”ฐ๋ผ์„œ Long์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๋‹ˆ๊นŒ ์˜ค๋ฅ˜ ํ•ด๊ฒฐ๋๋‹ค ใ…Žใ…Ž 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

728x90