Post

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

68) ๋กœ๋˜์˜ ์ตœ๊ณ  ์ˆœ์œ„์™€ ์ตœ์ € ์ˆœ์œ„

๐Ÿ“Œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ํ’€์ด ๋ฐฉ์‹

  1. lottos ๋ฐฐ์—ด๊ณผ win_nums ๋ฐฐ์—ด์„ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ•˜๊ธฐ
  2. lottos ๋ฐฐ์—ด๊ณผ win_nums ๋ฐฐ์—ด์—์„œ ๊ฐ™์€ ๊ฐ’์ด๋ผ๋ฉด ํšŸ์ˆ˜ ์นด์šดํŠธ
  3. lottos ๋ฐฐ์—ด์—์„œ ๊ฐ’์ด 0์ธ ํšŸ์ˆ˜ ์นด์šดํŠธ

  4. answer[0] : 2๋ฒˆ๊ณผ 3๋ฒˆ ๊ฐ’์„ ๋”ํ•ด์„œ ๋‚˜์˜จ ๊ฐ’์˜ ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ
  5. answer[1] : 2๋ฒˆ ๊ฐ’์˜ ๋“ฑ์ˆ˜ ๊ตฌํ•˜๊ธฐ
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
import java.util.*;
class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        int cntSame = 0, zeroNum = 0;
        int plusTotal = 0, minusTotal = 0;
        Arrays.sort(lottos);
        Arrays.sort(win_nums);
        for(int i=0;i<lottos.length;i++)
        {
            for(int j=0;j<win_nums.length;j++)
            {
                if(lottos[i]==win_nums[j])
                {
                   cntSame++;
                   System.out.println(cntSame);
                }
            }
            
            if(lottos[i]== 0)
            {
                zeroNum++;
            }
            
            plusTotal = cntSame+zeroNum;
            minusTotal = cntSame;
        }
        
        switch(plusTotal)
        {
            case 6:
                answer[0] = 1;
                break;
            case 5:
                answer[0] = 2;
                break;
            case 4:
                answer[0] = 3;
                break;
            case 3:
                answer[0] = 4;
                break;
            case 2:
                answer[0] = 5;
                break;
            default:
                answer[0] = 6;
                break;
        }
         switch(minusTotal)
        {
            case 6:
                answer[1] = 1;
                break;
            case 5:
                answer[1] = 2;
                break;
            case 4:
                answer[1] = 3;
                break;
            case 3:
                answer[1] = 4;
                break;
            case 2:
                answer[1] = 5;
                break;
            default:
                answer[1] = 6;
                break;
        }
        
        return answer;
    }
}
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.util.*;
class Solution {
    public int[] solution(int[] lottos, int[] win_nums) {
        int[] answer = new int[2];
        int cntSame = 0, zeroNum = 0;
        int plusTotal = 0, minusTotal = 0;
    
        for(int i=0;i<lottos.length;i++)
        {
            for(int j=0;j<win_nums.length;j++)
            {
                if(lottos[i]==win_nums[j])
                {
                   cntSame++;
                   System.out.println(cntSame);
                }
            }
            
            if(lottos[i]== 0)
            {
                zeroNum++;
            }
            
            answer[0] = grade(cntSame+zeroNum);
            answer[1] = grade(cntSame);
        }
        return answer;
    }
    public int grade(int n)
    {
        switch(n)
        {
            case 6:
                return 1;
            case 5:
                return 2;
            case 4:
                return 3;
            case 3:
                return 4;
            case 2:
                return 5;
            default:
                return 6;
         }  
     }
}
  • ๋ถˆํ•„์š”ํ•œ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ๋นผ๊ณ  switch๋„ ํ•˜๋‚˜์˜ ๋ฉ”์„œ๋“œ๋กœ ๋นผ์„œ ํ˜ธ์ถœํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ˆ˜์ •ํ–ˆ๋‹ค.


69) ๋ฌธ์ž์—ด ๋‚˜๋ˆ„๊ธฐ

๐Ÿ“Œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ํ’€์ด ๋ฐฉ์‹

  1. ๋จผ์ € ์ฒซ ๊ธ€์ž x ์ฝ๊ธฐ : char x = charAt(0);

  2. ๋ฌธ์ž๋ฅผ ์ˆœํšŒํ•˜๋ฉฐ x์™€ ๊ฐ™์œผ๋ฉด sameCnt ์ฆ๊ฐ€, ๋‹ค๋ฅด๋ฉด diffCnt ์ฆ๊ฐ€

  3. sameCnt์™€ diffCnt๋ฅผ ๋น„๊ตํ•˜์—ฌ ๊ฐ™์œผ๋ฉด answer ํšŸ์ˆ˜ ์ฆ๊ฐ€, ์ฆ๊ฐ€ ํ•œ ๋’ค sameCnt์™€ diffCnt ๋ฅผ 0์œผ๋กœ ์ดˆ๊ธฐํ™”.

  4. ๋‹ค์Œ ์ธ๋ฑ์Šค๊ฐ€ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ณด๋‹ค ์ž‘๋‹ค๋ฉด x๋ฅผ ๋‹ค์Œ ์ธ๋ฑ์Šค๋กœ ์ดˆ๊ธฐํ™”

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
33
34
35
class Solution {
    public int solution(String s) {
        int answer = 0;
        int sameCnt = 0, diffCnt = 0;
        char x = s.charAt(0);
        
        for(int i=0;i<s.length();i++)
        {
            if(s.charAt(i)== x)
            {
                sameCnt++;
            }
            else{
                diffCnt++;   
            }
            
            if(sameCnt == diffCnt)
            {
                answer++;
                sameCnt = 0;
                diffCnt = 0;
                if(i+1 <s.length())
                {
                    x = s.charAt(i+1);
                }
            } 
        }
        if(sameCnt!=0 || diffCnt !=0)
        {
            answer++;
        }
        
        return answer;
    }
}


70) ๋‘˜๋งŒ์˜ ์•”ํ˜ธ

๐Ÿ“Œ ๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ํ’€์ด ๋ฐฉ์‹

  1. a~z๊นŒ์ง€ List๋กœ ์ž…๋ ฅ๋ฐ›๊ธฐ. ๋‹จ, skip ๋ฌธ์ž๋ฅผ ์ œ์™ธํ•˜๊ณ 

  2. ํ˜„์žฌ index์˜ ๊ฐ’์„ ๊ตฌํ•˜๊ณ , indx๋ฅผ ๋”ํ•œ ์ƒˆ๋กœ์šด index์˜ ๊ฐ’ ๊ตฌํ•˜๊ธฐ

  3. ์ƒˆ๋กญ๊ฒŒ ๊ตฌํ•œ index์˜ ๊ฐ’ ์กฐํšŒ

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.*;
class Solution {
    public String solution(String s, String skip, int index) {
        String answer = "";
        
        List<Character> list = new ArrayList<>();
        for(char ch = 'a';ch<='z';ch++)
        {
            if(!skip.contains(String.valueOf(ch)))
            {
                list.add(ch);
            }
        }
        
        for(char c : s.toCharArray())
        {
            int curIdx = list.indexOf(c); // list์˜ ํ˜„์žฌ ๋ฌธ์ž c์˜ ์œ„์น˜๋ฅผ ์ฐพ์Œ
            int newIdx = (curIdx+index) % list.size();
            
            answer+= list.get(newIdx);
        }
        return answer;
    }
}
This post is licensed under CC BY 4.0 by the author.