budtree
budtree
budtree
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (77)
    • ๐Ÿ’ Computer Science (5)
      • OS (1)
      • Network (1)
      • Database (3)
    • ๐Ÿค study (21)
      • kubernetes๐Ÿ•ธ๏ธ (0)
      • Spring Boot๐Ÿƒ (1)
      • JPA (2)
      • Infra (2)
      • HTML | CSS (3)
      • Java (6)
      • Kotlin (3)
      • etc (4)
    • ๐Ÿ’ป Project (3)
      • memoir & diary ๐Ÿ“š (1)
      • class (0)
      • project (2)
    • ๐Ÿ”ฅ Problem Solving (38)
      • programmers (30)
      • SQL (8)
      • BOJ (0)
    • โœจ daily (10)
      • diary (5)
      • exercise (5)
      • travel (0)
      • review (0)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ฝ”ํ‹€๋ฆฐ
  • ์ฝ”๋ฆฐ์ด
  • ์นด์นด์˜ค์ฝ”ํ…Œ
  • 2018 KAKAO BLIND RECRUITMENT
  • ๊ฐœ๋ฆฐ์ด
  • ํ”ผํ‹ฐ
  • java
  • ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • pt
  • ํ—ฌ๋ฆฐ์ด
  • kotlin
  • ์ผ๊ธฐ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์„œ์šธ๋Œ€์ž…๊ตฌ ํ—ฌ์Šค์žฅ
  • ArrayList
  • css
  • ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€
  • ์ทจ์—…์ค€๋น„
  • ํ—ฌ์Šค์žฅ
  • ์ฝ”ํ…Œ
  • HashMap
  • Summer/Winter Coding
  • ์ทจ์—…
  • programmers
  • ๋ธ”๋ž™๋ฉ€ํ‹ฐ์ง
  • ํ”„๋ฆฐ์ด
  • ์นด์นด์˜ค์ฝ”๋”ฉํ…Œ์ŠคํŠธ
  • ์ž๋ฐ”
  • ์นด์นด์˜ค
  • ์›”๊ฐ„์ฝ”๋“œ์ฑŒ๋ฆฐ์ง€

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
budtree

budtree

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ๋‹คํŠธ ๊ฒŒ์ž„(Java)
๐Ÿ”ฅ Problem Solving/programmers

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ๋‹คํŠธ ๊ฒŒ์ž„(Java)

2022. 5. 19. 20:53

 

๐Ÿ”ฅ

 

https://programmers.co.kr/learn/courses/30/lessons/17682?language=java 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - [1์ฐจ] ๋‹คํŠธ ๊ฒŒ์ž„

 

programmers.co.kr

 

 

๋”๋ณด๊ธฐ
> ๋ฌธ์ œ ๋ณด๊ธฐ

๋ฌธ์ œ ์„ค๋ช…

๋‹คํŠธ ๊ฒŒ์ž„

์นด์นด์˜คํ†ก์— ๋œฌ ๋„ค ๋ฒˆ์งธ ๋ณ„! ์‹ฌ์‹ฌํ•  ๋•? ์นด์นด์˜คํ†ก ๊ฒŒ์ž„๋ณ„~

์นด์นด์˜คํ†ก ๊ฒŒ์ž„๋ณ„์˜ ํ•˜๋ฐ˜๊ธฐ ์‹ ๊ทœ ์„œ๋น„์Šค๋กœ ๋‹คํŠธ ๊ฒŒ์ž„์„ ์ถœ์‹œํ•˜๊ธฐ๋กœ ํ–ˆ๋‹ค. ๋‹คํŠธ ๊ฒŒ์ž„์€ ๋‹คํŠธํŒ์— ๋‹คํŠธ๋ฅผ ์„ธ ์ฐจ๋ก€ ๋˜์ ธ ๊ทธ ์ ์ˆ˜์˜ ํ•ฉ๊ณ„๋กœ ์‹ค๋ ฅ์„ ๊ฒจ๋ฃจ๋Š” ๊ฒŒ์ž„์œผ๋กœ, ๋ชจ๋‘๊ฐ€ ๊ฐ„๋‹จํžˆ ์ฆ๊ธธ ์ˆ˜ ์žˆ๋‹ค.
๊ฐ“ ์ž…์‚ฌํ•œ ๋ฌด์ง€๋Š” ์ฝ”๋”ฉ ์‹ค๋ ฅ์„ ์ธ์ •๋ฐ›์•„ ๊ฒŒ์ž„์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„์ธ ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง์„ ๋งก๊ฒŒ ๋˜์—ˆ๋‹ค. ๋‹คํŠธ ๊ฒŒ์ž„์˜ ์ ์ˆ˜ ๊ณ„์‚ฐ ๋กœ์ง์€ ์•„๋ž˜์™€ ๊ฐ™๋‹ค.

  1. ๋‹คํŠธ ๊ฒŒ์ž„์€ ์ด 3๋ฒˆ์˜ ๊ธฐํšŒ๋กœ ๊ตฌ์„ฑ๋œ๋‹ค.
  2. ๊ฐ ๊ธฐํšŒ๋งˆ๋‹ค ์–ป์„ ์ˆ˜ ์žˆ๋Š” ์ ์ˆ˜๋Š” 0์ ์—์„œ 10์ ๊นŒ์ง€์ด๋‹ค.
  3. ์ ์ˆ˜์™€ ํ•จ๊ป˜ Single(S), Double(D), Triple(T) ์˜์—ญ์ด ์กด์žฌํ•˜๊ณ  ๊ฐ ์˜์—ญ ๋‹น์ฒจ ์‹œ ์ ์ˆ˜์—์„œ 1์ œ๊ณฑ, 2์ œ๊ณฑ, 3์ œ๊ณฑ (์ ์ˆ˜1 , ์ ์ˆ˜2 , ์ ์ˆ˜3 )์œผ๋กœ ๊ณ„์‚ฐ๋œ๋‹ค.
  4. ์˜ต์…˜์œผ๋กœ ์Šคํƒ€์ƒ(*) , ์•„์ฐจ์ƒ(#)์ด ์กด์žฌํ•˜๋ฉฐ ์Šคํƒ€์ƒ(*) ๋‹น์ฒจ ์‹œ ํ•ด๋‹น ์ ์ˆ˜์™€ ๋ฐ”๋กœ ์ „์— ์–ป์€ ์ ์ˆ˜๋ฅผ ๊ฐ 2๋ฐฐ๋กœ ๋งŒ๋“ ๋‹ค. ์•„์ฐจ์ƒ(#) ๋‹น์ฒจ ์‹œ ํ•ด๋‹น ์ ์ˆ˜๋Š” ๋งˆ์ด๋„ˆ์Šค๋œ๋‹ค.
  5. ์Šคํƒ€์ƒ(*)์€ ์ฒซ ๋ฒˆ์งธ ๊ธฐํšŒ์—์„œ๋„ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ฒซ ๋ฒˆ์งธ ์Šคํƒ€์ƒ(*)์˜ ์ ์ˆ˜๋งŒ 2๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 4๋ฒˆ ์ฐธ๊ณ )
  6. ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ๋Š” ๋‹ค๋ฅธ ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ์™€ ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ค‘์ฒฉ๋œ ์Šคํƒ€์ƒ(*) ์ ์ˆ˜๋Š” 4๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 4๋ฒˆ ์ฐธ๊ณ )
  7. ์Šคํƒ€์ƒ(*)์˜ ํšจ๊ณผ๋Š” ์•„์ฐจ์ƒ(#)์˜ ํšจ๊ณผ์™€ ์ค‘์ฒฉ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ค‘์ฒฉ๋œ ์•„์ฐจ์ƒ(#)์˜ ์ ์ˆ˜๋Š” -2๋ฐฐ๊ฐ€ ๋œ๋‹ค. (์˜ˆ์ œ 5๋ฒˆ ์ฐธ๊ณ )
  8. Single(S), Double(D), Triple(T)์€ ์ ์ˆ˜๋งˆ๋‹ค ํ•˜๋‚˜์”ฉ ์กด์žฌํ•œ๋‹ค.
  9. ์Šคํƒ€์ƒ(*), ์•„์ฐจ์ƒ(#)์€ ์ ์ˆ˜๋งˆ๋‹ค ๋‘˜ ์ค‘ ํ•˜๋‚˜๋งŒ ์กด์žฌํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์กด์žฌํ•˜์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ๋‹ค.

0~10์˜ ์ •์ˆ˜์™€ ๋ฌธ์ž S, D, T, *, #๋กœ ๊ตฌ์„ฑ๋œ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋  ์‹œ ์ด์ ์ˆ˜๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋Š” ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•˜๋ผ.

์ž…๋ ฅ ํ˜•์‹

"์ ์ˆ˜|๋ณด๋„ˆ์Šค|[์˜ต์…˜]"์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด 3์„ธํŠธ.
์˜ˆ) 1S2D*3T

  • ์ ์ˆ˜๋Š” 0์—์„œ 10 ์‚ฌ์ด์˜ ์ •์ˆ˜์ด๋‹ค.
  • ๋ณด๋„ˆ์Šค๋Š” S, D, T ์ค‘ ํ•˜๋‚˜์ด๋‹ค.
  • ์˜ต์„ ์€ *์ด๋‚˜ # ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ์—†์„ ์ˆ˜๋„ ์žˆ๋‹ค.

์ถœ๋ ฅ ํ˜•์‹

3๋ฒˆ์˜ ๊ธฐํšŒ์—์„œ ์–ป์€ ์ ์ˆ˜ ํ•ฉ๊ณ„์— ํ•ด๋‹นํ•˜๋Š” ์ •์ˆ˜๊ฐ’์„ ์ถœ๋ ฅํ•œ๋‹ค.
์˜ˆ) 37

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

์˜ˆ์ œdartResultanswer์„ค๋ช…
1 1S2D*3T 37 11 * 2 + 22 * 2 + 33
2 1D2S#10S 9 12 + 21 * (-1) + 101
3 1D2S0T 3 12 + 21 + 03
4 1S*2T*3S 23 11 * 2 * 2 + 23 * 2 + 31
5 1D#2S*3S 5 12 * (-1) * 2 + 21 * 2 + 31
6 1T2D3D# -4 13 + 22 + 32 * (-1)
7 1D2S3T* 59 12 + 21 * 2 + 33 * 2

 

 


 

๐Ÿ”ฅ [๋กœ์ง]

1. dartResult ๋ณ€์ˆ˜๋ฅผ charํ˜• ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜ํ›„ ์ €์žฅํ•œ๋‹ค.(toCharArray)

 

2. ๊ฐ ์ ์ˆ˜๋“ค์„ ๋‹ด์„ ์ •์ˆ˜๋ฐฐ์—ด numlist๋ฅผ ์„ ์–ธํ•œ ํ›„  ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ํ™•์ธํ•œ๋‹ค.

    2-1. ์ˆซ์ž์ธ ๊ฒฝ์šฐ + ๊ทธ ๋‹ค์Œ๊ฐ’์ด 0์ธ๊ฒฝ์šฐ

           => 10์ž„์„ ์˜๋ฏธ, 10์„ numlist์— ๋„ฃ์–ด์ฃผ๊ณ  ์นด์šดํŠธ ์ฆ๊ฐ€

    2-2. ์ˆซ์ž์ธ ๊ฒฝ์šฐ

           => 0~9๊นŒ์ง€์˜ ์ˆซ์ž๋ฅผ ์˜๋ฏธ, ํ•ด๋‹น ๊ฐ’์„ numlist์— ๋„ฃ์–ด์ฃผ๊ณ  ์นด์šดํŠธ ์ฆ๊ฐ€

    2-3. ๋ฌธ์ž์ธ ๊ฒฝ์šฐ 

           => ๋ณด๋„ˆ์Šค ๋ฌธ์ž์ธ ๊ฒฝ์šฐ('S', 'D', 'T') : Math.pow๋ฅผ ์‚ฌ์šฉํ•ด ๊ฐ๊ฐ ์ œ๊ณฑ, ์„ธ์ œ๊ณฑํ•ด์ฃผ๊ธฐ

           => ์˜ต์…˜์ธ ๊ฒฝ์šฐ('*', '#') : ์ด์ „ ๊ฐ’์ด ์—†๋Š” ๊ฒฝ์šฐ, ์žˆ๋Š” ๊ฒฝ์šฐ๋ฅผ ๋‚˜๋ˆ„์–ด ๊ฐ๊ฐ ๊ณฑํ•ด์ฃผ๊ธฐ

 

3. ์ตœ์ข… ํ•ฉ ๊ณ„์‚ฐํ•˜๊ธฐ

 

๐Ÿ”ฅ [์ตœ์ข… ์ฝ”๋“œ]

import java.util.*;

class Solution {
    public int solution(String dartResult) {
        char[] clist = dartResult.toCharArray();
        // System.out.println(dartResult.length());
        int cnt = 0;
        int[] numlist = new int[dartResult.length()];
        for(int i = 0; i < dartResult.length(); i++) {
            if(Character.isDigit(clist[i]) == true) {
                if(clist[i+1]=='0') {
                    numlist[cnt++] = 10;
                    i++;
                } else {
                    numlist[cnt++] = Character.getNumericValue(clist[i]);
                }
            
            } else {
                switch(clist[i]){
                    case 'S':
                        numlist[cnt-1] *= 1;
                        break;
                    case 'D':
                        numlist[cnt-1] = (int)Math.pow(numlist[cnt-1],2);
                        break;
                    case 'T':
                        numlist[cnt-1] = (int)Math.pow(numlist[cnt-1],3);
                        break;
                    case '#':
                        numlist[cnt-1] *= -1;
                        break;
                    case '*':
                        if(cnt-1 > 0) {
                            numlist[cnt-2] *= 2;
                        }
                        numlist[cnt-1] *= 2;
                        break;
                }
            }
        }
        
        int answer = 0;
        for(int j = 0; j < dartResult.length(); j++) {
            answer += numlist[j];
        }
        
        return answer;
    }
}

 

๐Ÿ”ฅ [์†Œ๊ฐ]

 

 


 

์ฝ”ํ…Œ ์ค€๋น„๋ฅผ ๋ณธ๊ฒฉ์ ์œผ๋กœ ์‹œ์ž‘ํ•œ์ง€ ์–ผ๋งˆ ๋˜์ง€ ์•Š์•„ ์ฝ”๋“œ์— ๋ฏธํกํ•œ ์ ์ด ๋งŽ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 
๋ถ€์กฑํ•œ ์  ํ”ผ๋“œ๋ฐฑ ์ฃผ์‹œ๋ฉด ์•ž์œผ๋กœ์˜ ํฌ์ŠคํŒ…์— ๋ฐ˜์˜ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค! ๋ด์ฃผ์…”์„œ ์ •๋ง ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค :)
-budtree

'๐Ÿ”ฅ Problem Solving > programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด(Java)  (0) 2022.05.22
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฐ์Šต๋ฌธ์ œ ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด(Java)  (0) 2022.05.20
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ๋น„๋ฐ€์ง€๋„(Java)  (0) 2022.05.18
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ3 ๋‚˜๋จธ์ง€๊ฐ€ 1์ด ๋˜๋Š” ์ˆ˜ ์ฐพ๊ธฐ(Java)  (0) 2022.05.15
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์œ„ํด๋ฆฌ ์ฑŒ๋ฆฐ์ง€ ์ตœ์†Œ์ง์‚ฌ๊ฐํ˜•(Java)  (0) 2022.05.15
    '๐Ÿ”ฅ Problem Solving/programmers' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ์ˆซ์ž ๋ฐฐ์—ด(Java)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์—ฐ์Šต๋ฌธ์ œ ๊ฐ™์€ ์ˆซ์ž๋Š” ์‹ซ์–ด(Java)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] 2018 KAKAO BLIND RECRUITMENT [1์ฐจ] ๋น„๋ฐ€์ง€๋„(Java)
    • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์›”๊ฐ„ ์ฝ”๋“œ ์ฑŒ๋ฆฐ์ง€ ์‹œ์ฆŒ3 ๋‚˜๋จธ์ง€๊ฐ€ 1์ด ๋˜๋Š” ์ˆ˜ ์ฐพ๊ธฐ(Java)
    budtree
    budtree
    ๊ฐœ๋ฐœ, ์šด๋™, ์ผ์ƒ๋“ฑ์˜ ๊ธ€์„ ์˜ฌ๋ฆฝ๋‹ˆ๋‹ค.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”