๐ŸŒฑ → ๐ŸŒณ

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆจ์–ด ์žˆ๋Š” ์ˆซ์ž์˜ ๋ง์…ˆ - python ๋ณธ๋ฌธ

Algorithms

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์ˆจ์–ด ์žˆ๋Š” ์ˆซ์ž์˜ ๋ง์…ˆ - python

BAY 2023. 9. 15. 13:48
728x90

์ฝ”๋“œ

๋‚ด ํ’€์ด

def solution(my_string):
    answer = 0
    for i in my_string:
        if 49 <= ord(i) < 65:
            answer += int(i)
    return answer

์•„์Šคํ‚ค์ฝ”๋“œ ๋ฒ”์œ„ ์‚ฌ์šฉ

 

๋‹ค๋ฅธ ํ’€์ด 1

def solution(my_string):
    return sum(int(i) for i in my_string if i.isdigit())

isdigit()๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ๋„ค ..

 

isdigit : string ํด๋ž˜์Šค์— ์žˆ๋Š” ๋ฉ”์„œ๋“œ

str.isdigit()

๋ฌธ์ž์—ด์ด '์ˆซ์ž'๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ์žˆ๋Š”์ง€ ํ™•์ธํ•˜๋Š” ํ•จ์ˆ˜์ž„

๋ฌธ์ž๊ฐ€ '๋‹จ ํ•˜๋‚˜'๋ผ๋„ ์žˆ๋‹ค๋ฉด False๋ฅผ ๋ฐ˜ํ™˜ํ•˜๊ณ , ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ '์ˆซ์ž'๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ์žˆ์œผ๋ฉด True๋ฅผ ๋ฐ˜ํ™˜ํ•จ

 

์‚ฌ์šฉ๋ฒ•

1) str.isdigit("ํŒ๋‹จํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด")

2) "ํŒ๋‹จํ•˜๊ณ ์ž ํ•˜๋Š” ๋ฌธ์ž์—ด".isdigit()

๋‘๊ฐ€์ง€ ๋ฐฉ๋ฒ• ๋‹ค ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅ

 

str.isdigit() ์€ ์Œ์ˆ˜๋ฅผ ๋œปํ•˜๋Š” '-', ์†Œ์ˆ˜์ ์„ ๋œปํ•˜๋Š” '.' ์ด๊ฒƒ๋“ค์„ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๋กœ ํŒ๋‹จ์„ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ˆ˜๋‚˜ ์Œ์ˆ˜๋ฅผ ํŒ๋‹จํ•˜์ง€ ๋ชปํ•จ

์ฆ‰, "-2".isdigit(), "1.234".isdigit() ๋‘˜๋‹ค False ๋‚˜์˜ด

์ •๋ฆฌํ•˜์ž๋ฉด "์˜ค์ง 0์„ ํฌํ•จํ•œ ์–‘์ˆ˜ํ˜• ์ •์ˆ˜๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด"๋งŒ isdigit์—์„œ True๊ฐ€ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Œ

์ถ”๊ฐ€์ ์œผ๋กœ ์ง€์ˆ˜๋ฅผ ๋œปํ•˜๋Š” n์ œ๊ณฑ 2³, 3², 4² ์ด๊ฒƒ๋„ True๊ฐ€ ์˜ฌ ์ˆ˜ ์žˆ๋‹น

 

reference : https://blockdmask.tistory.com/556

 

๋‹ค๋ฅธ ํ’€์ด 2 - try๋ฌธ ์‚ฌ์šฉ

def solution(my_string):
    answer = 0
    for i in my_string:
        try:
            answer = answer + int(i)
        except:
            pass

    return answer
728x90