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

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค | Lv1] ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ (Python) - 2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ

sssbin 2023. 1. 14. 00:15

 

https://school.programmers.co.kr/learn/courses/30/lessons/67256

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

์ฝ”๋“œ ์ค‘์‹ฌ์˜ ๊ฐœ๋ฐœ์ž ์ฑ„์šฉ. ์Šคํƒ ๊ธฐ๋ฐ˜์˜ ํฌ์ง€์…˜ ๋งค์นญ. ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์˜ ๊ฐœ๋ฐœ์ž ๋งž์ถคํ˜• ํ”„๋กœํ•„์„ ๋“ฑ๋กํ•˜๊ณ , ๋‚˜์™€ ๊ธฐ์ˆ  ๊ถํ•ฉ์ด ์ž˜ ๋งž๋Š” ๊ธฐ์—…๋“ค์„ ๋งค์นญ ๋ฐ›์œผ์„ธ์š”.

programmers.co.kr

 

ํ‚คํŒจ๋“œ๋ฅผ ์ขŒํ‘œ๋กœ ๋”•์…”๋„ˆ๋ฆฌ์— ์ €์žฅํ•ด์ฃผ๊ณ 

1) number๊ฐ€ 1, 4, 7์ด๋ฉด 'L' & ํ˜„์žฌ ์œ„์น˜ ์ €์žฅ

2) number๊ฐ€ 3, 6, 9์ด๋ฉด 'R' & ํ˜„์žฌ ์œ„์น˜ ์ €์žฅ

3) number๊ฐ€ 2, 5, 8, 0์ด๋ฉด ํ˜„์žฌ ์™ผ์†๊ณผ ์˜ค๋ฅธ์†์˜ ์œ„์น˜๋ฅผ ๋น„๊ตํ•ด์„œ ๋” ๊ฐ€๊นŒ์šด ์†์œผ๋กœ ์ถœ๋ ฅ

     ใ„ด ๊ฑฐ๋ฆฌ๊ฐ€ ๊ฐ™์œผ๋ฉด hand์— ๋”ฐ๋ผ ์ถœ๋ ฅํ•ด์ค€๋‹ค.

 

# ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 67256: ํ‚คํŒจ๋“œ ๋ˆ„๋ฅด๊ธฐ (2020 ์นด์นด์˜ค ์ธํ„ด์‹ญ)

def solution(numbers, hand):
    answer = ''
    keypad = {1: [0,0], 2: [0,1], 3: [0,2],
             4: [1,0], 5: [1,1], 6: [1,2],
             7: [2,0], 8: [2,1], 9: [2,2],
             '*': [3,0], 0: [3,1], '#': [3,2]}

    l = '*'
    r = '#'
    for i in numbers:
        if i == 1 or i == 4 or i == 7:
            answer += 'L'
            l = i
        elif i == 3 or i == 6 or i == 9:
            answer += 'R'
            r = i
        else:
            lenL = abs((keypad[i][0] - keypad[l][0])) + abs((keypad[i][1] - keypad[l][1]))
            lenR = abs((keypad[i][0] - keypad[r][0])) + abs((keypad[i][1] - keypad[r][1]))
            if lenL > lenR:
                answer += 'R'
                r = i
            elif lenL < lenR:
                answer += 'L'
                l = i
            else:
                if hand == 'right':
                    answer += 'R'
                    r = i
                else:
                    answer += 'L'
                    l = i
                 
    return answer

 

๋”•์…”๋„ˆ๋ฆฌ์— ์ขŒํ‘œ๋ฅผ ์ €์žฅํ•œ๋‹ค๋Š” ์•„์ด๋””์–ด๋งŒ ๋– ์˜ฌ๋ฆฌ๋ฉด ์‰ฝ๊ฒŒ ํ’€ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

๋‚˜๋Š” ์•ˆ ๋– ์˜ฌ๋ผ์„œ ์กฐ๊ธˆ ํ—ค๋งธ๋‹ค ๐Ÿฅฒ