https://programmers.co.kr/learn/courses/30/lessons/12931

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ž์—ฐ์ˆ˜ N์ด ์ฃผ์–ด์ง€๋ฉด, N์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ํ•ฉ์„ ๊ตฌํ•ด์„œ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ๋งŒ๋“ค์–ด ์ฃผ์„ธ์š”. ์˜ˆ๋ฅผ๋“ค์–ด N = 123์ด๋ฉด 1 + 2 + 3 = 6์„ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ œํ•œ์‚ฌํ•ญ N์˜ ๋ฒ”์œ„ : 100,000,000 ์ดํ•˜์˜ ์ž์—ฐ์ˆ˜ ์ž…์ถœ๋ ฅ ์˜ˆ N answer 123 6 987 24 ์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช… ์ž…์ถœ๋ ฅ ์˜ˆ #1 ๋ฌธ์ œ์˜ ์˜ˆ์‹œ์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ #2 9 + 8 + 7 = 24์ด๋ฏ€๋กœ 24๋ฅผ return ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

programmers.co.kr

 

 

< ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ>

 

 โ—‹ ์ฒ˜์Œ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
public class Solution {
    public int solution(int n) {
        int answer = 0;
        String temp ="";
        temp += n;
        
        for(int i=0 ; i<temp.length();i++){
            answer+= Integer.parseInt(temp.substring(i,i+1));
        }   
        return answer;
    }
}
cs

์ƒ๊ฐ๊ณผ์ •

1. int ์ž๋ฃŒํ˜•์œผ๋กœ ํ•œ๋‹ค๋ฉด ์ž๋ฆฟ์ˆ˜๋ฅผ ๊ตฌํ•ด์„œ ํ•ด์ค˜์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฃจ๊ธฐ ์‰ฌ์šด ๋ฌธ์ž์—ด๋กœ  ๋ฐ”๊ฟ”์•ผ๊ฒ ๋‹ค.

2. ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พผ๋‹ค์Œ charAt() ์ด๋‚˜ substring() ์„ ์‚ฌ์šฉํ•ด์•ผ๊ฒ ๋‹ค. ํ•˜์ง€๋งŒ charAt()์€ char ํ˜•์œผ๋กœ ๋ฐ”๋€Œ๊ธฐ ๋•Œ๋ฌธ์— substring ์„ ์‚ฌ์šฉํ•œ๋‹ค

3.substring()์œผ๋กœ ํ•˜๋‚˜ํ•˜๋‚˜ ํ•ด์ค€๋‹ค์Œ parseInt๋กœ int ํ˜•์œผ๋กœ ๋ฐ”๊ฟ” ์ค€๋‹ค์Œ ํ•˜๋‚˜ํ•˜๋‚˜ answer ์— ๋”ํ•ด์ค€๋‹ค.

 

โ—‹ ๊ฐ™์ด ๋ณด๊ณ ์‹ถ์€ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
import java.util.*;
 
public class Solution {
    public int solution(int n) {
        int answer = 0;
 
        while(true){
            answer+=n%10;
            if(n<10)
                break;
 
            n=n/10;
        }
 
        // [์‹คํ–‰] ๋ฒ„ํŠผ์„ ๋ˆ„๋ฅด๋ฉด ์ถœ๋ ฅ ๊ฐ’์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
        System.out.println("Hello Java");
 
        return answer;
    }
}
cs

 


โ—‹ ๋ณต์Šตํ’€์ด ( ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ”์„œ ํ’€์ด / 20200421)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public class Solution {
    public int solution(int n) {
        int answer = 0;
        String temp ="";
        temp+=n;
        // ์ •์ˆ˜ n ์„ String ์œผ๋กœ ๋ฐ”๊ฟ”์„œ ์ฒ˜๋ฆฌํ•œ๋‹ค.
        for(int i=0;i<temp.length();i++)//0 1 2  ๋ฒ”์œ„ ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.
        {                                
            answer+= Integer.parseInt(temp.substring(i,i+1));
            // ์ฃผ์˜์  substring(i,i+1)
            // substring(0,1)  substring(1,2)  substring(2,3)       
            
        }
        return answer;
    }
}
cs

โ—‹ ๋ณต์Šตํ’€์ด ( ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์ง€ ์•Š๊ณ  ํ’€์ด /20200421)

1
2
3
4
5
6
7
8
9
10
public class Solution {
    public int solution(int n) {
        int answer = 0;
        while(n>=1){            
            answer += n%10;
            n/=10;            
        }
        return answer;
    }
}
cs

(โ€ป while ๋ฒ”์œ„๋ฅผ ์ •ํ•  ๋•Œ ์ฃผ์˜ํ•ด์•ผํ•œ๋‹ค.

      n๊ฐ’์ด 1๋ณด๋‹ค ์ปธ์„ ๋•Œ ๋งŒ ๋Œ์•„๊ฐ„๋‹ค. 10์œผ๋กœ ๊ณ„์† ๋‚˜๋ˆ ์ง€๊ฒŒ ๋˜๋‹ˆ๊น 

)

https://programmers.co.kr/learn/courses/30/lessons/12903

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๊ฐ€์šด๋ฐ ๊ธ€์ž ๊ฐ€์ ธ์˜ค๊ธฐ | ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

๋‹จ์–ด s์˜ ๊ฐ€์šด๋ฐ ๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ๋งŒ๋“ค์–ด ๋ณด์„ธ์š”. ๋‹จ์–ด์˜ ๊ธธ์ด๊ฐ€ ์ง์ˆ˜๋ผ๋ฉด ๊ฐ€์šด๋ฐ ๋‘๊ธ€์ž๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์žฌํ•œ์‚ฌํ•ญ s๋Š” ๊ธธ์ด๊ฐ€ 1 ์ด์ƒ, 100์ดํ•˜์ธ ์ŠคํŠธ๋ง์ž…๋‹ˆ๋‹ค. ์ž…์ถœ๋ ฅ ์˜ˆ s return abcde c qwer we

programmers.co.kr

 
 

1.์ฒ˜์Œ์œผ๋กœ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
class Solution {
  public String solution(String s) {
      String answer = "";
      int  num=s.length()/2-1;
 
      if(s.length()%2==0){          //์ง์ˆ˜์ผ๋•Œ
 
          answer= answer+s.charAt(num);
          answer= answer+s.charAt(num+1);
 
      }else if(s.length()%2!=0){    //ํ™€์ˆ˜์ผ๋•Œ
          num=s.length()/2;
       answer=answer+s.charAt(num);
 
      }
 
 
      return answer;
  }
}
cs

๋‚˜์˜ ์ƒ๊ฐ ๊ณผ์ •

1.๋ฌธ์ž์—ด์„ ๋ฐ›์•„์„œ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ์•„ ๋‚ด์•ผ๊ฒ ๋‹ค.

2.๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ์•Œ์•„๋‚ด์„œ ์ง์ˆ˜์™€ ํ™€์ˆ˜๋กœ ๋‚˜๋ˆ„์–ด์•ผ ๊ฒ ๋‹ค.

 - ์ง์ˆ˜๋Š” ๋ฌธ์ž์—ด๊ธธ์ด๋ฅผ %๋กœ ์—ฐ์‚ฐํ–ˆ์„๋•Œ 0, ํ™€์ˆ˜๋Š” ๋ฌธ์ž์—ด๊ธธ์ด๋ฅผ %๋กœ ์—ฐ์‚ฐํ–ˆ์„๋•Œ 0์ด ์•„๋‹ˆ๋‹ค.

3.charAt() ์œผ๋กœ ๋ฌธ์ž์—ด์—์„œ ๋ฌธ์ž๋ฅผ ์ถ”์ถœํ•ด์„œ ์ถœ๋ ฅ ํ•ด์•ผ๊ฒ ๋‹ค.

-์ง์ˆ˜ ์ผ๋•Œ ์ค‘๊ฐ„์€ ์ง์ˆ˜๋ฅผ ๋‚˜๋ˆด์„๋•Œ ๋ชซ์˜ ๊ฐ’์ด๋‹ค. ํ•˜์ง€๋งŒ ์ธ๋ฑ์Šค ๊ฐ’์€ 0๋ถ€ํ„ฐ ์ด๋ฏ€๋กœ ๋ชซ๊ฐ’์˜ -1 ์„ ํ•ด์„œ  ๋‘๊ธ€์ž๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

  ์˜ˆ) 4๊ธ€์ž์ด๋ฉด s=0,1,2,3  4/2=2 ์ถœ๋ ฅํ•ด์•ผํ•˜๋Š” ๊ฐ’์€ 1,2์ด๋ฏ€๋กœ ๋ชซ๊ฐ’์˜ -1,๋ชซ๊ฐ’ ์„ ์ถœ๋ ฅํ•œ๋‹ค.

-ํ™€์ˆ˜ ์ผ๋•Œ ์ค‘๊ฐ„์€ ํ™€์ˆ˜๋ฅผ ๋‚˜๋ˆด์„๋•Œ ๋ชซ์˜ ๊ฐ’์ด ์ธ๋ฑ์Šค๊ฐ’์˜ ์ค‘๊ฐ„์ด๋ฏ€๋กœ ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅํ•œ๋‹ค.

  ์˜ˆ) 5๊ธ€์ž์ด๋ฉด  s=0,1,2,3,4  5/2=2 2๋Š” ์ค‘๊ฐ„๊ฐ’

 

 

 

2.๋‹ค๋ฅธ์‚ฌ๋žŒ ํ’€์ด๋ณด๊ณ  SubString()์œผ๋กœ ํ‘ผ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
  public String solution(String s) {
      String answer = "";
      
      if(s.length()%2==0){          //์ง์ˆ˜์ผ๋•Œ
        answer= s.substring(s.length()/2-1,s.length()/2+1);
          
          
      }else if(s.length()%2!=0){    //ํ™€์ˆ˜์ผ๋•Œ
          
        answer= s.substring(s.length()/2,s.length()/2+1);
          
      }
      
      
      return answer;
  }
}
cs

 

SubString() ๊ฐœ๋…

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
//substring 
 
String.substring(์‹œ์ž‘ ์ธ๋ฑ์Šค);    //์‹œ์ž‘๋ถ€ํ„ฐ ๋๊นŒ์ง€
String.substring(์‹œ์ž‘ ์ธ๋ฑ์Šค,๋งˆ์ง€๋ง‰ ์ธ๋ฑ์Šค;//์‹œ์ž‘๋ถ€ํ„ฐ ๋ ์ „๊นŒ์ง€
 
 
//์˜ˆ์ œ
String str="0123456";
 
 
str.substring(3);
// 3456
 
str.substring(3,5);
//34
 
cs

 

 

 

 

์ข‹์•„์š”๋ฅผ ๋งŽ์ด ๋ฐ›์€ ํ’€์ด

1
2
3
4
5
6
7
8
9
10
11
class StringExercise{
    String getMiddle(String word){
 
        return word.substring((word.length()-1/ 2, word.length()/2 + 1);    
    }
    // ์•„๋ž˜๋Š” ํ…Œ์ŠคํŠธ๋กœ ์ถœ๋ ฅํ•ด ๋ณด๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ์ž…๋‹ˆ๋‹ค.
    public static void  main(String[] args){
        StringExercise se = new StringExercise();
        System.out.println(se.getMiddle("power"));
    }
}
cs

 

-์ด๊ฑด StringExercise ๋ฅผ ๋ชฐ๋ผ์„œ ๋ชป ํ’€๊ฒ ๋‹ค.. ๋‹ค์Œ์— ๊ผญ ํ’€์–ด๋ด์•ผ๊ฒ ๋‹ค..

+ Recent posts