Post

๐Ÿ’ช๐Ÿป programmers Lv1(24.09.24 - 10๋ฌธ์ œ)

๐Ÿ’ช๐Ÿป programmers Lv1(24.09.24 - 10๋ฌธ์ œ)

programmers Lv1(24.09.24 - 10๋ฌธ์ œ)

11) ์ •์ˆ˜ ์ œ๊ณฑ๊ทผ ํŒ๋ณ„

  • ์ •์ˆ˜ n, n์ด ์ •์ˆ˜ x์˜ ์ œ๊ณฑ์ธ์ง€ ํŒ๋‹จ

  • 1) ์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๊ธฐ -> Math.sqrt()

  • 2) ์†Œ์ˆ˜์  ๋ฒ„๋ฆฌ๊ณ  long ํƒ€์ž…์œผ๋กœ ๋ณ€ํ™˜

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import java.util.*;
class Solution {
    public long solution(long n) {
        long answer = 0;
        double sqrt = Math.sqrt(n); // ์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๊ธฐ
        long x = (long)sqrt; // ์†Œ์ˆ˜์  ๋ฒ„๋ฆฌ๊ณ  ํƒ€์ž… ๋ณ€ํ™˜
        if(x*x == n)
        {
            answer = (x+1)*(x+1);
        }
        else
        {
            answer = -1;
        }
        
        return answer;
    }
}



12) ํ•˜์ƒค๋“œ ์ˆ˜

  • ํ•˜์ƒค๋“œ ์ˆ˜์ด๋ ค๋ฉด x์˜ ์ž๋ฆฟ์ˆ˜ ํ•ฉ์œผ๋กœ x๊ฐ€ ๋‚˜๋ˆ„์–ด์ ธ์•ผ ํ•จ.

  • ex) 18 => 1 + 8 = 9, 18 /9 = 2 (ํ•˜์ƒค๋“œ ์ˆ˜)

  • 1) ๊ฐ ์ž๋ฆฌ์ˆ˜ ๊ตฌํ•˜๊ณ  ๋”ํ•˜๊ธฐ

  • 2) x๋ฅผ ๊ตฌํ•œ ๊ฐ’์œผ๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋ฉด ํ•˜์ƒค๋“œ ์ˆ˜, ์•„๋‹ˆ๋ฉด ํ•˜์ƒค๋“œ ์ˆ˜๊ฐ€ ์•„๋‹˜

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
import java.util.*;
class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        int sum = 0;
        int originX = x;
        while(x!=0)
        {
            sum += (x%10);
            x /= 10;
        }
        if(originX%sum == 0)
        {
            return answer;
        }
        else 
        {
            return !answer;   
        }
    }
}
  • โ— ์ฒ˜์Œ ํ‹€๋ ธ๋˜ ๋ถ€๋ถ„ : originX๋ผ๋Š” ๋ณ€์ˆ˜๋ฅผ ๋”ฐ๋กœ ๋†“์ง€ ์•Š๊ณ  x%sum == 0 ์œผ๋กœ ํ–ˆ์—ˆ๋Š”๋ฐ ๊ทธ๋Ÿฌ๋ฉด ์ด๋ฏธ x๊ฐ€ 0์ด ๋œ ์‹œ์ ์ด๋ฏ€๋กœ ๊ฒฐ๊ณผ์˜ ์˜ค๋ฅ˜๊ฐ€ ์ƒ๊ฒผ์Œ.. ๋ฐ”๋ณด. ์ฆ‰, ์›๋ž˜์˜ x๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ๋ฅผ ๊ตฌํ•ด์•ผ๋˜๋ฏ€๋กœ x๋ฅผ originX๋ผ๋Š” ๋ณ€์ˆ˜๋กœ ์ €์žฅํ•ด ๋†“๊ณ  ํ•ด๋‹น originX ๋ณ€์ˆ˜๋กœ ๋‚˜๋ˆ„์—ˆ์Œ.



13) ๋‘ ์ •์ˆ˜ ์‚ฌ์ด์˜ ํ•ฉ

  • ๋‘ ์ •์ˆ˜ a, b๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ a์™€ b ์‚ฌ์ด์— ์†ํ•œ ๋ชจ๋“  ์ •์ˆ˜์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ

  • 1) a๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ b๊นŒ์ง€ ์ˆ˜์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ

  • 2) b๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ a๊นŒ์ง€ ์ˆ˜์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
class Solution {
    public long solution(int a, int b) {
        long answer = 0;
        for(int i=a;i<=b;i++)
        {
            if(a==b)
            {
                answer = a;
            }
            else{
                 answer +=i;
            }     
        }
        for(int i=b;i<=a;i++)
        {
             if(a==b)
            {
                answer = a;
            }
            else{
                 answer +=i;
            }
        }
        return answer;
    }
}
  • ๋งค์šฐ ์ŠคํŒŒ๊ฒŒํ‹ฐ,,.,,,์ฝ”๋“œ๋กœ ๋‹ค๋ฅธ ์‚ฌ๋žŒ ์ฝ”๋“œ๋ฅผ ์ฐพ์•„๋ณด๋‹ˆ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์“ฐ๋ฉด ๋งค์šฐ ๊ฐ„๋‹จํ•˜๊ฒŒ ํ•ด๊ฒฐ๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜์˜€๋‹ค. ๋ฐ˜ํ™˜ ๊ฐ’์—๋Š” ์‚ผํ•ญ์„ ๋งŽ์ด ์ผ์—ˆ๋Š”๋ฐ for๋ฌธ์—๋Š” ์ž˜ ์•ˆ ์ผ์–ด์„œ ์—ฐ์Šต์„ ํ•ด์•ผ๋  ๊ฑฐ ๊ฐ™๋‹ค.
1
2
3
4
5
6
7
8
9
class Solution {
  public long solution(int a, int b) {
      long answer = 0;
      for (int i = ((a < b) ? a : b); i <= ((a < b) ? b : a); i++) 
          answer += i;

      return answer;
  }
}



14) ์„œ์šธ์—์„œ ๊น€์„œ๋ฐฉ ์ฐพ๊ธฐ

  • String ๋ฐฐ์—ด seoul ์š”์†Œ ์ค‘ โ€œKimโ€์˜ ์œ„์น˜ x๋ฅผ ์ฐพ์•„ โ€œ๊น€์„œ๋ฐฉ์€ x์— ์žˆ๋‹คโ€ ๋Š” String์„ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜ ๊ตฌํ•˜๊ธฐ

  • 1) โ€œKimโ€์ด๋ผ๋Š” ๊ธ€์ž๊ฐ€ ๋ฐฐ์—ด์˜ ๋ช‡ ๋ฒˆ์งธ์— ์œ„์น˜ํ•˜๋Š”์ง€ ๊ตฌํ•˜๊ธฐ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import java.util.*;
class Solution {
    public String solution(String[] seoul) {
        String answer = "";  
        int idx = 0;
        for(int i=0;i<seoul.length;i++)
        {
            if(seoul[i].equals("Kim"))
            {
                idx = i;
                break;
            }
        }
        answer = "๊น€์„œ๋ฐฉ์€ "+idx+"์— ์žˆ๋‹ค";
        return answer;
    }
}
  • โ— ๊ณ„์† ๋งž๊ฒŒ ํ–ˆ๋Š”๋ฐ ์™œ ์•ˆ ๋˜์ง€ ํ–ˆ์—ˆ๋Š”๋ฐ ๋˜ java์—์„œ ๋ฌธ์ž์—ด ๋น„๊ต์ธ๋ฐ == ์„ ์‚ฌ์šฉํ•˜๊ณ  ๋ง์•˜๋‹ค.

  • Java์—์„œ โ€™==โ€™ ์—ฐ์‚ฐ์ž๋Š” ๋‘ ๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ๋ฉ”๋ชจ๋ฆฌ ์ƒ์˜ ๋™์ผํ•œ ์œ„์น˜์— ์žˆ๋Š”์ง€๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐ˜๋ฉด, โ€˜equals()โ€™ ๋ฉ”์„œ๋“œ๋Š” ๋‘ ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์ด ๊ฐ™์€์ง€๋ฅผ ๋น„๊ตํ•จ.



15) ์ฝœ๋ผ์ธ  ์ถ”์ธก

  • ์ฝœ๋ผ์ธ  ์ถ”์ธก์€ ์ฃผ์–ด์ง„ ์ˆ˜๊ฐ€ 1์ด ๋  ๋•Œ๊นŒ์ง€ ๋‹ค์Œ ์ž‘์—…์„ ๋ฐ˜๋ณตํ•˜๋ฉด ๋ชจ๋“  ์ˆ˜๋ฅผ 1๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋Š” ์ถ”์ธก

  • 1) 1์ด๋  ๋•Œ๊นŒ์ง€ ์ง์ˆ˜์ผ ๋•Œ 2๋กœ ๋‚˜๋ˆ„๊ธฐ

  • 2) 1์ด๋  ๋•Œ๊นŒ์ง€ ํ™€์ˆ˜์ผ ๋•Œ 3์„ ๊ณฑํ•˜๊ณ  1์„ ๋”ํ•˜๊ธฐ

  • 3) ์ด ๊ณผ์ •์„ ๋ฐ˜๋ณตํ•ด์„œ ํšŸ์ˆ˜ ๊ตฌํ•˜๊ธฐ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
class Solution {
    public int solution(int num) {
        int cnt = 0;
        int answer = 0;
        while(num!=1)
        {
            if(num%2 == 0)
            {
                num = num/2;
            }
            else if(num%2 == 1)
            {
                num = num*3 + 1;
            }
            cnt++;
            if(cnt>=500)
            {
                return -1;
            }
         }
        return cnt;
    }
}



16) ์Œ์–‘ ๋”ํ•˜๊ธฐ

  • ์ •์ˆ˜๋“ค์˜ ์ ˆ๋Œ€๊ฐ’์„ ์ฐจ๋ก€๋กœ ๋‹ด์€ ์ •์ˆ˜ ๋ฐฐ์—ด absolutes, ์ •์ˆ˜๋“ค์˜ ๋ถ€ํ˜ธ๋ฅผ ์ฐจ๋ก€๋กœ ๋‹ด์€ boolean ๋ฐฐ์—ด signs, ์‹ค์ œ ์ •์ˆ˜๋“ค์˜ ํ•ฉ ๊ตฌํ•˜๊ธฐ

  • 1) absoultes ๋ฐฐ์—ด์˜ ๊ธธ์ด๋งŒํผ ๋ฐ˜๋ณตํ•˜๊ธฐ

  • 2) signs ๋ฐฐ์—ด์˜ ๊ฐ’์ด true ์ผ ๋•Œ ๊ฒฐ๊ณผ ๋ณ€์ˆ˜์ธ result์— absolutes[i]๋ฅผ ๋”ํ•˜๊ณ  false์ผ ๋•Œ result์— absoultes[i]๋ฅผ ๊ฐ์†Œํ•˜๊ธฐ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Solution {
    public int solution(int[] absolutes, boolean[] signs) {
        int result = 0;
        for(int i=0;i<absolutes.length;i++)
        {
            if(signs[i] == true)
            {
                result += absolutes[i];
            }
            else if(signs[i] == false)
            {
                result -= absolutes[i];
            }
        }
        return result;
    }
}



17) ์—†๋Š” ์ˆซ์ž ๋”ํ•˜๊ธฐ

  • 0~9๊นŒ์ง€ ์ˆซ์ž ์ผ๋ถ€๊ฐ€ ๋“ค์–ด์žˆ๋Š” ์ •์ˆ˜ ๋ฐฐ์—ด์—์„œ ์ฐพ์„ ์ˆ˜ ์—†๋Š” 0๋ถ€ํ„ฐ 9๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ๋ชจ๋‘ ์ฐพ์•„ ๋”ํ•œ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜

  • 1) 0~9๊นŒ์ง€์˜ ํ•ฉ ๋ณ€์ˆ˜์—์„œ numbers ๋ฐฐ์—ด ๊ฐ’ ๋นผ๊ธฐ

1
2
3
4
5
6
7
8
9
10
class Solution {
    public int solution(int[] numbers) {
        int answer = 45;
        for(int i=0;i<numbers.length;i++)
        {
            answer -= numbers[i];
        }
        return answer;
    }
}



18) ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด

  • ๋ฐฐ์—ด arr์„ divisor๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฐ’์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ๋ฐฐ์—ด ๊ตฌํ•˜๊ธฐ

  • 1) arr ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ธฐ

  • 2) arr ๋ฐฐ์—ด์„ divisor๋กœ ๋‚˜๋ˆ„์—ˆ์„ ๋•Œ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ ํšŸ์ˆ˜ ์„ธ๊ธฐ

  • 3) ํšŸ์ˆ˜ ํฌ๊ธฐ์˜ result ๋ฐฐ์—ด ์ƒ์„ฑ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
import java.util.*;
class Solution {
    public int[] solution(int[] arr, int divisor) {
        int[] answer = {-1};
        Arrays.sort(arr); // 5 7 9 10
        int cnt= 0;
        int idx = 0;
        for(int i=0;i<arr.length;i++)
        {
            if(arr[i]%divisor == 0)
            {
                cnt++;
            }
        }
        if(cnt == 0)
        {
            return answer;
        }
        int[] result = new int[cnt]; 
       
        for(int i=0;i<arr.length;i++)
        {
            if(arr[i]%divisor==0)
            {
                result[idx] = arr[i];
                idx++;
            }
        }
    
        return result;
    }
}



19) ์ œ์ผ ์ž‘์€ ์ˆ˜ ์ œ๊ฑฐํ•˜๊ธฐ

  • ์ •์ˆ˜๋ฅผ ์ €์žฅํ•œ ๋ฐฐ์—ด arr์—์„œ ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•œ ๋ฐฐ์—ด ๊ตฌํ•˜๊ธฐ

  • 1) ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๊ฐ€ 1์ด๋ฉด -1 ๋ฆฌํ„ด

  • 2) ๋ฐฐ์—ด์—์„œ ์ œ์ผ ์ž‘์€ ๊ฐ’ ๊ตฌํ•ด์„œ ํ•ด๋‹น ์ธ๋ฑ์Šค ๊ฐ’ ์ €์žฅํ•˜๊ธฐ

  • 3) ๊ฐ€์žฅ ์ž‘์€ ์ˆ˜๋ฅผ ์ œ๊ฑฐํ•˜๋ฉด ํฌ๊ธฐ๊ฐ€ 1๋งŒ ๊ฐ์†Œํ•˜๊ธฐ ๋•Œ๋ฌธ์— arr.length-1์ธ ๋ฐฐ์—ด ์ƒˆ๋กœ ๋งŒ๋“ค๊ธฐ

  • 4) idx๋ฅผ ์ œ์™ธํ•˜๊ณ  ๊ฒฐ๊ณผ๊ฐ’ ๊ตฌํ•˜๊ธฐ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
class Solution {
    public int[] solution(int[] arr) {
        int[] answer = {-1};
        int min = Integer.MAX_VALUE;
        int idx = 0;
        if(arr.length == 1)
        {
            return answer;
        }
        
        for(int i=0;i<arr.length;i++)
        {
            if(arr[i]<min)
            {
                min = arr[i];
                idx = i;
            }
        }
        int[] result = new int[arr.length-1];
        int resultIdx = 0;
        
        for(int i=0;i<arr.length;i++)
        {
            if(i!= idx)
            {
                result[resultIdx] = arr[i];
                resultIdx++;
            }
        }
        return result;
    }
}



20) ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ ๊ฐ€๋ฆฌ๊ธฐ

  • ํ•ธ๋“œํฐ ๋ฒˆํ˜ธ์—์„œ ๋’ท์ž๋ฆฌ 4์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•œ ๋‚˜๋จธ์ง€ ์ˆซ์ž *๋กœ ๋ฐ”๊พธ๊ธฐ

  • 1) ๋ฐ˜๋ณต๋ฌธ์„ ์ด์šฉํ•ด 4์ž๋ฆฌ๋ฅผ ์ œ์™ธํ•˜๊ณ  *๋กœ ๋ณ€ํ™˜

  • 2) substring์„ ์ด์šฉํ•ด ๋’ค 4์ž๋ฆฌ๋ฅผ ์ถ”์ถœํ•˜๊ธฐ. ex) phone_number.length()-4์ด๋ฉด ํ•ด๋‹น ์ธ๋ฑ์Šค๋ถ€ํ„ฐ ๋๊นŒ์ง€ ์ถ”์ถœ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution {
    public String solution(String phone_number) {
        String answer = "";
     
        for(int i=0;i<phone_number.length()-4;i++)
        {
            answer += "*";
        }
         // ๋งˆ์ง€๋ง‰ ๋„ค์ž๋ฆฌ
        String phone = phone_number.substring(phone_number.length()-4);
        answer+=phone;
        return answer;
    }
}
This post is licensed under CC BY 4.0 by the author.