๐Ÿ Algorithm/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

[Programmers] ์ˆจ์–ด์žˆ๋Š” ์ˆซ์ž์˜ ๋ง์…ˆ(1)(์ž๋ฐ”)

Dhey 2023. 4. 1. 10:14
๋ฐ˜์‘ํ˜•

โžฐ๋ฌธ์ œ

๋ฌธ์ž์—ด my_string์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. my_string์•ˆ์˜ ๋ชจ๋“  ์ž์—ฐ์ˆ˜๋“ค์˜ ํ•ฉ์„ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

 

์ œํ•œ์‚ฌํ•ญ

   -  1 ≤ my_string์˜ ๊ธธ์ด ≤ 1,000

   -  my_string์€ ์†Œ๋ฌธ์ž, ๋Œ€๋ฌธ์ž ๊ทธ๋ฆฌ๊ณ  ํ•œ์ž๋ฆฌ ์ž์—ฐ์ˆ˜๋กœ๋งŒ ๊ตฌ์„ฑ๋˜์–ด์žˆ์Šต๋‹ˆ๋‹ค.

 


์ž…์ถœ๋ ฅ ์˜ˆ

my_string result
"aAb1B2cC34oOp" 10
"1a2b3c4d123Z" 16

 


์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  ์ž…์ถœ๋ ฅ ์˜ˆ #1

  • "aAb1B2cC34oOp"์•ˆ์˜ ํ•œ์ž๋ฆฌ ์ž์—ฐ์ˆ˜๋Š” 1, 2, 3, 4 ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1 + 2 + 3 + 4 = 10 ์„ returnํ•ฉ๋‹ˆ๋‹ค.

  ์ž…์ถœ๋ ฅ ์˜ˆ #2

  • "1a2b3c4d123Z"์•ˆ์˜ ํ•œ์ž๋ฆฌ ์ž์—ฐ์ˆ˜๋Š” 1, 2, 3, 4, 1, 2, 3 ์ž…๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1 + 2 + 3 + 4 + 1 + 2 + 3 = 16 ์„ returnํ•ฉ๋‹ˆ๋‹ค.

 


์œ ์˜์‚ฌํ•ญ

   -  ์—ฐ์†๋œ ์ˆซ์ž๋„ ๊ฐ๊ฐ ํ•œ ์ž๋ฆฌ ์ˆซ์ž๋กœ ์ทจ๊ธ‰ํ•ฉ๋‹ˆ๋‹ค.

 

 

 


 

๐Ÿ’กํ’€์ด

โญ์ œ์ถœ ์ฝ”๋“œ

class Solution {
    public int solution(String my_string) {
        char[] ch = my_string.toCharArray();  //toCharArray()๋กœ ๋ฌธ์ž์—ด์„ ํ•œ ๊ธ€์ž์”ฉ ์ชผ๊ฐœ์„œ ๋ฐฐ์—ด์— ์ €์žฅ
        String str = "";
        
        // ASCII์ฝ”๋“œ ๊ฐ’(1~9 -> 49~57)์œผ๋กœ ์ˆซ์ž์ธ ๋ฌธ์ž๋งŒ ๊ณจ๋ผ์„œ str์— ์ €์žฅ
        for(int i=0; i<ch.length; i++){
            if(49<=ch[i] && ch[i]<=57){
                str += ch[i];
            }
        }
        
        // str๋ฌธ์ž์—ด์„ split์œผ๋กœ ๋ถ„๋ฆฌํ•œ ํ›„ answer์— ๋”ํ•จ
        int answer = 0;
        String[] str_arr = str.split("");
        for(int i=0; i<str_arr.length; i++){
            answer += Integer.parseInt(str_arr[i]);
        }
        return answer;
    }
}

 

๐Ÿ‘€ ์ฝ”๋“œ ํ•ด์„

1. toCharArray() ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์ž…๋ ฅ๊ฐ’(my_string)์„ ํ•œ ๊ธ€์ž์”ฉ ์ชผ๊ฐœ์–ด char ๋ฐฐ์—ด์— ์ €์žฅํ•œ๋‹ค.

2. ์ˆซ์ž 1~9์˜ ASCII ์ฝ”๋“œ ๊ฐ’์€ 49~57์ด๋‹ค.

   ๋”ฐ๋ผ์„œ, ๋ฐฐ์—ด(ch)์˜ ๊ฐ ๊ฐ’๊ณผ ASCII ์ฝ”๋“œ ๊ฐ’(49~57)์„ ๋น„๊ตํ•˜์—ฌ ์ผ์น˜ํ•œ๋‹ค๋ฉด ๋ฌธ์ž์—ด str์— ๋„ฃ์–ด์ค€๋‹ค.

3. str ๋ฌธ์ž์—ด์„ split() ๋ฉ”์†Œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ๋ถ„๋ฆฌํ•œ ํ›„ answer์— ๋”ํ•ด์ค€๋‹ค.

   (** ์ด๋•Œ, ๋ถ„๋ฆฌํ•œ ๋ฐฐ์—ด์˜ ๊ฐ’๋“ค์€ String ํƒ€์ž…์ด๋ฏ€๋กœ int๋กœ ๊ฐ•์ œ ํ˜•๋ณ€ํ™˜ ์‹œ์ผœ์ค€๋‹ค!)

 

 

 

* ์—ฌ๊ธฐ์„œ์˜ toCharArray()๋Š” ๋ฌธ์ž์—ด์„ ํ•œ ๊ธ€์ž์”ฉ ์ชผ๊ฐœ char ํƒ€์ž…์˜ ๋ฐฐ์—ด์— ๋„ฃ์–ด ๋ฐ˜ํ™˜ํ•ด์ฃผ๋Š” ๋ฉ”์†Œ๋“œ์ด๋‹ค.

 

 

๋ฐ˜์‘ํ˜•