Tiny Bunny [python] ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„ 3
๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
programmers/๊ธฐ์ดˆ

[python] ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„ 3

by maesil 2024. 8. 5.

๋ฌธ์ œ ์„ค๋ช…

 

1๋ถ€ํ„ฐ 6๊นŒ์ง€ ์ˆซ์ž๊ฐ€ ์ ํžŒ ์ฃผ์‚ฌ์œ„๊ฐ€ ๋„ค ๊ฐœ ์žˆ์Šต๋‹ˆ๋‹ค. ๋„ค ์ฃผ์‚ฌ์œ„๋ฅผ ๊ตด๋ ธ์„ ๋•Œ ๋‚˜์˜จ ์ˆซ์ž์— ๋”ฐ๋ผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ ์ˆ˜๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

  • ๋„ค ์ฃผ์‚ฌ์œ„์—์„œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ p๋กœ ๊ฐ™๋‹ค๋ฉด 1111 × p์ ์„ ์–ป์Šต๋‹ˆ๋‹ค.
  • ์„ธ ์ฃผ์‚ฌ์œ„์—์„œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ p๋กœ ๊ฐ™๊ณ  ๋‚˜๋จธ์ง€ ๋‹ค๋ฅธ ์ฃผ์‚ฌ์œ„์—์„œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ q(p ≠ q)๋ผ๋ฉด (10 × p + q)2 ์ ์„ ์–ป์Šต๋‹ˆ๋‹ค.
  • ์ฃผ์‚ฌ์œ„๊ฐ€ ๋‘ ๊ฐœ์”ฉ ๊ฐ™์€ ๊ฐ’์ด ๋‚˜์˜ค๊ณ , ๋‚˜์˜จ ์ˆซ์ž๋ฅผ ๊ฐ๊ฐ p, q(p ≠ q)๋ผ๊ณ  ํ•œ๋‹ค๋ฉด (p + q) × |p - q|์ ์„ ์–ป์Šต๋‹ˆ๋‹ค.
  • ์–ด๋А ๋‘ ์ฃผ์‚ฌ์œ„์—์„œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ p๋กœ ๊ฐ™๊ณ  ๋‚˜๋จธ์ง€ ๋‘ ์ฃผ์‚ฌ์œ„์—์„œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ ๊ฐ๊ฐ p์™€ ๋‹ค๋ฅธ q, r(q ≠ r)์ด๋ผ๋ฉด q × r์ ์„ ์–ป์Šต๋‹ˆ๋‹ค.
  • ๋„ค ์ฃผ์‚ฌ์œ„์— ์ ํžŒ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅด๋‹ค๋ฉด ๋‚˜์˜จ ์ˆซ์ž ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆซ์ž ๋งŒํผ์˜ ์ ์ˆ˜๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

๋„ค ์ฃผ์‚ฌ์œ„๋ฅผ ๊ตด๋ ธ์„ ๋•Œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ ์ •์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜ a, b, c, d๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ์–ป๋Š” ์ ์ˆ˜๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด ์ฃผ์„ธ์š”.

 

์ž…์ถœ๋ ฅ ์˜ˆ

a b c d result
2 2 2 2 2222
4 1 4 4 1681
6 3 3 6 27
2 5 2 6 30
6 4 2 5 2

 

์ œ์ถœ ๋‚ด์—ญ

def solution(a, b, c, d):
    li = [a,b,c,d]
    li.sort()
    dice = set(li)
    
    if len(dice) == 1:
        return 1111*a
    
    elif len(dice) == 4:
        return li[0]
    
    elif len(dice) == 2:
        if li.count(li[0]) == 3:
            return (10*li[0]+li[3])**2
        elif li.count(li[0]) == 2:
            return (li[0]+li[2])*abs(li[0]-li[2])
        else:
            return (10*li[1]+li[0])**2
        
    else:
        for i in li:
            if li.count(i) == 2:
                li.remove(i)
                li.remove(i)
                return li[0]*li[1]
๋”๋ณด๊ธฐ

set: ์ง‘ํ•ฉ ์ž๋ฃŒํ˜• - ์ค‘๋ณตX, ์ˆœ์„œX

>>> set1 = set([1, 1, 3, 2])

>>> set1

{1, 2, 3}

 

sort(): ๋ฆฌ์ŠคํŠธ ์š”์†Œ๋ฅผ ์ˆœ์„œ๋Œ€๋กœ ์ •๋ ฌ

>>> a = [1, 3, 4, 2]

>>> a.sort()

>>> a

[1, 2, 3, 4]

 

count(x): ๋ฆฌ์ŠคํŠธ ์•ˆ์— x์˜ ๊ฐœ์ˆ˜๋ฅผ ๋ฆฌํ„ดํ•จ

>>> a = [1, 2, 3, 1]

>>> a.count(1)

2

 

remove(x): ๋ฆฌ์ŠคํŠธ์—์„œ ์ฒซ ๋ฒˆ์งธ๋กœ ๋‚˜์˜ค๋Š” x๋ฅผ ์ œ๊ฑฐํ•จ

>>> a = [1, 2, 3, 1, 2, 3]

>>> a.remove(3)

>>> a

[1, 2, 1, 2, 3]

 

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ์ฝ”๋”ฉ ๊ธฐ์ดˆ ํŠธ๋ ˆ์ด๋‹ Day8 ์กฐ๊ฑด๋ฌธ, ๋ฌธ์ž์—ด

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