๐Ÿงฉ Algorithm/[Programmers] Level 1

[Programmers] L1. ํฌ๊ธฐ๊ฐ€ ์ž‘์€ ๋ถ€๋ถ„๋ฌธ์ž์—ด (Python)

devCloud 2024. 10. 25. 23:38
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr


ํ’€์ด

t ์˜ ๊ธธ์ด์—์„œ p ์˜ ๊ธธ์ด๋ฅผ ๋บ€ ํ›„ + 1 ๋งŒํผ for๋ฌธ์„ ๋Œ๋ฆฐ๋‹ค.

  •  ๋งŒ์ผ t ์˜ ๊ธธ์ด๊ฐ€ 7์ด๊ณ , p ์˜ ๊ธธ์ด๊ฐ€ 3์ผ ๋•Œ ์—ฐ์‚ฐ์„ ํ•˜๋ฉด 4์ด๋‹ค. 4๋ฒˆ์งธ ์ธ๋ฑ์Šค๊นŒ์ง€ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด + 1์„ ํ•ด์ค€๋‹ค. 
  • ์ด๋ ‡๊ฒŒ ํ•ด์ฃผ๋Š” ์ด์œ ๋Š”, t๋ฅผ p ๋งŒํผ์˜ ๊ธธ์ด๋กœ ์Šฌ๋ผ์ด์‹ฑ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
  • ํ˜„์žฌ ์œ„์น˜(i) ๋ถ€ํ„ฐ p์˜ ๊ธธ์ด + ํ˜„์žฌ ์œ„์น˜(i) ๊นŒ์ง€ ์ž๋ฅด๋ฉด p ๋งŒํผ์˜ ๊ธธ์ด๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด ํ˜„์žฌ ์œ„์น˜๊ฐ€ 4๋ผ๊ณ  ํ•  ๋•Œ, p์˜ ๊ธธ์ด์ธ 3๊ณผ ํ˜„์žฌ ์œ„์น˜ 4๋ฅผ ๋”ํ•˜๋ฉด 7์ด ๋œ๋‹ค. ์ฆ‰ 4 ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ 6 ๋ฒˆ์งธ ์ธ๋ฑ์Šค๊นŒ์ง€ ์ž๋ฅด๋Š”๋ฐ 6๋ฒˆ์งธ ์ธ๋ฑ์Šค๋Š” t์˜ ๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค์ด๊ธฐ ๋•Œ๋ฌธ์— p์˜ ๊ธธ์ด๋ฅผ ๋นผ์ค€ ๋งŒํผ for ๋ฌธ์„ ๋Œ๋ ค์•ผ ํ•œ๋‹ค.

 

์ž๋ฅธ ๋ฌธ์ž์—ด๊ณผ p๋Š” ๋ฌธ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ’ ๋น„๊ต๋ฅผ ์œ„ํ•ด ์ •์ˆ˜ํ˜•์œผ๋กœ ๋ณ€ํ™˜ํ•œ๋‹ค.

int()
  • ์ •์ˆ˜๋กœ ๋ณ€ํ™˜ํ™œ ๋ฌธ์ž์—ด์„ ์ธ์ž๋กœ ์ „๋‹ฌํ•˜๋ฉด ์ •์ˆ˜ํ˜•์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

 

์Šฌ๋ผ์ด์‹ฑ ๋ฐฉ๋ฒ•

str[start:end]
  • start ๋ถ€ํ„ฐ end ๊นŒ์ง€ ์ž๋ฅธ๋‹ค.
str[0:]  # 0๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ž๋ฅด๊ธฐ
str[:5]  # ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ถ€ํ„ฐ 4๋ฒˆ์งธ ์ธ๋ฑ์Šค๊นŒ์ง€ ์ž๋ฅด๊ธฐ
str[:]  # ๋ชจ๋“  ์ธ๋ฑ์Šค ๊ฐ€์ ธ์˜ค๊ธฐ

 

Solution

def solution(t, p):
    answer = 0
    for i in range(len(t) - len(p) + 1):
        if int(p) >= int(t[i:len(p) + i]):
            answer += 1
    return answer

 


 

728x90