๋‚ด ์ธ์ƒ์—์„œ ๋ฏฟ์„ ๊ฑด ์˜ค์ง ๋‚˜ ์ž์‹ ๋ฟ!

The only one you can truly trust is yourself.

๊ฒŒ์ž„ ํ”„๋กœ๊ทธ๋ž˜๋ฐ/Python ํ”„๋กœ๊ทธ๋ž˜๋ฐ

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค LV0 ์ฃผ์‚ฌ์œ„ ๊ฒŒ์ž„ 3

๐ŸŽฎinspirer9 2023. 6. 24. 14:56
728x90
๋ฐ˜์‘ํ˜•

๋ฌธ์ œ ์„ค๋ช…

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๋Š” 1 ์ด์ƒ 6 ์ดํ•˜์˜ ์ •์ˆ˜์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

์ž…์ถœ๋ ฅ ์˜ˆ ์„ค๋ช…

  • ์ž…์ถœ๋ ฅ ์˜ˆ #1
    • ์˜ˆ์ œ 1๋ฒˆ์—์„œ ๋„ค ์ฃผ์‚ฌ์œ„ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ 2๋กœ ๊ฐ™์œผ๋ฏ€๋กœ 1111 × 2 = 2222์ ์„ ์–ป์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2222๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #2
    • ์˜ˆ์ œ 2๋ฒˆ์—์„œ ์„ธ ์ฃผ์‚ฌ์œ„์—์„œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ 4๋กœ ๊ฐ™๊ณ  ๋‚˜๋จธ์ง€ ๋‹ค๋ฅธ ์ฃผ์‚ฌ์œ„์—์„œ ๋‚˜์˜จ ์ˆซ์ž๊ฐ€ 1์ด๋ฏ€๋กœ (10 × 4 + 1)2 = 412 = 1681์ ์„ ์–ป์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 1681์„ return ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #3
    • ์˜ˆ์ œ 3๋ฒˆ์—์„œ a, d๋Š” 6์œผ๋กœ, b, c๋Š” 3์œผ๋กœ ๊ฐ๊ฐ ๊ฐ™์œผ๋ฏ€๋กœ (6 + 3) × |6 - 3| = 9 × 3 = 27์ ์„ ์–ป์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 27์„ return ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #4
    • ์˜ˆ์ œ 4๋ฒˆ์—์„œ ๋‘ ์ฃผ์‚ฌ์œ„์—์„œ 2๊ฐ€ ๋‚˜์˜ค๊ณ  ๋‚˜๋จธ์ง€ ๋‹ค๋ฅธ ๋‘ ์ฃผ์‚ฌ์œ„์—์„œ ๊ฐ๊ฐ 5, 6์ด ๋‚˜์™”์œผ๋ฏ€๋กœ 5 × 6 = 30์ ์„ ์–ป์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 30์„ return ํ•ฉ๋‹ˆ๋‹ค.
  • ์ž…์ถœ๋ ฅ ์˜ˆ #5
    • ์˜ˆ์ œ 5๋ฒˆ์—์„œ ๋„ค ์ฃผ์‚ฌ์œ„ ์ˆซ์ž๊ฐ€ ๋ชจ๋‘ ๋‹ค๋ฅด๊ณ  ๋‚˜์˜จ ์ˆซ์ž ์ค‘ ๊ฐ€์žฅ ์ž‘์€ ์ˆซ์ž๊ฐ€ 2์ด๋ฏ€๋กœ 2์ ์„ ์–ป์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ 2๋ฅผ return ํ•ฉ๋‹ˆ๋‹ค.

ํ’€์ด

  • ์นด์šดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๊ฐฏ์ˆ˜๋ฅผ ๋ฝ‘๊ณ , ๊ฐฏ์ˆ˜์— ๋”ฐ๋ผ์„œ ๊ณ„์‚ฐํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋˜๋Š” ๊ตฌํ˜„ ๋ฌธ์ œ.
from collections import Counter

def solution(a, b, c, d):
    answer = 0
    cnt = Counter([a, b, c, d]).most_common(4)
    len_cnt = len(cnt)
    
    if len_cnt == 1:
        answer = 1111 * int(cnt[0][0])
    if len_cnt == 2:
        if cnt[0][1] == 2:
            answer = (cnt[0][0] + cnt[1][0]) * abs(cnt[0][0] - cnt[1][0])
        else:
            answer = pow((10 * cnt[0][0] + cnt[1][0]),2)
    if len_cnt == 3:
        answer = cnt[1][0] * cnt[2][0]
    if len_cnt == 4:
        answer = min(a,b,c,d)
        
    return answer

์ž˜ ๋˜๋„ค

728x90
๋ฐ˜์‘ํ˜•