ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

Algorithm

[Algorithm] ์œ„์žฅ (ํ•ด์‹œ)

_๋ณด๋ฆ„ 2021. 6. 21. 16:55

๐Ÿ–ฅ ๋ฌธ์ œ

๋ฌธ์ œ ์„ค๋ช…

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

์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ๋“ค์ด ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด clothes๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์˜ท์˜ ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ

  • clothes์˜ ๊ฐ ํ–‰์€ [์˜์ƒ์˜ ์ด๋ฆ„, ์˜์ƒ์˜ ์ข…๋ฅ˜]๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ์˜ ์ˆ˜๋Š” 1๊ฐœ ์ด์ƒ 30๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์˜์ƒ์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • clothes์˜ ๋ชจ๋“  ์›์†Œ๋Š” ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 20 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ด๊ณ  ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž ๋˜๋Š” '_' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ŠคํŒŒ์ด๋Š” ํ•˜๋ฃจ์— ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ์˜์ƒ์€ ์ž…์Šต๋‹ˆ๋‹ค.

๐Ÿค” ํ’€์ด ๋ฐฉ๋ฒ•

  • [["yellow_hat", "headgear"], ["blue_sunglasses", "eyewear"], ["green_turban", "headgear"]]
    • 1๊ฐœ๋งŒ ์ž…์„ ๊ฒฝ์šฐ
      1. yellow_hat
      2. blue_sunglasses
      3. green_turban
    • 2๊ฐœ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ž…์„ ๊ฒฝ์šฐ
      1. yellow_hat + blue_sunglasses
      2. green_turbam + blue_sunglasses

headgear๋Š” 2๊ฐœ, eyewear๋Š” 1๊ฐœ์ด๋‹ค.
headgear๋ฅผ ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ 1, eyewear๋ฅผ ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ 1์„ ๊ฐ๊ฐ ๋”ํ•ด์ฃผ๋ฉด headgear๋Š” 3๊ฐœ, eyewear๋Š” 2๊ฐœ๊ฐ€ ๋œ๋‹ค.
headgear์˜ ์ˆ˜์™€ eyewear์˜ ์ˆ˜๋ฅผ ๊ณฑํ•ด์ฃผ๋ฉด ์ด 6๊ฐœ์˜ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ๋‚˜์˜จ๋‹ค.
์ŠคํŒŒ์ด๋Š” ํ•˜๋ฃจ์— ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ์˜์ƒ์„ ์ž…์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— headgear์™€ eyewear๋ฅผ ๋ชจ๋‘ ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ 1์„ ๋นผ์ฃผ์–ด์•ผ ํ•œ๋‹ค.
๋”ฐ๋ผ์„œ 5๊ฐœ์˜ ์กฐํ•ฉ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

  • [["crow_mask", "face"], ["blue_sunglasses", "face"], ["smoky_makeup", "face"]]
    • 1๊ฐœ๋งŒ ์ž…์„ ๊ฒฝ์šฐ
      1. crow_mask
      2. blue_sunglasses
      3. smoky_makup
    • ๋ชจ๋‘ face์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋‘ ๊ฐ€์ง€ ์ด์ƒ์˜ ์กฐํ•ฉ์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋‹ค.

face๊ฐ€ 3๊ฐœ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ๊ฐ ํ•˜๋‚˜์”ฉ ์ž…์œผ๋ฉด ๋œ๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ต์€ 3์ด ๋œ๋‹ค.

  • [["a", "a"], ["b", "b"], ["c", "c"]]
    • 1๊ฐœ๋งŒ ์ž…์„ ๊ฒฝ์šฐ
      1. a
      2. b
      3. c
    • 2๊ฐœ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ž…์„ ๊ฒฝ์šฐ
      1. a + b
      2. a + c
      3. b + c
    • 3๊ฐœ๋ฅผ ์กฐํ•ฉํ•˜์—ฌ ์ž…์„ ๊ฒฝ์šฐ
      1. a + b + c

a, b, c๊ฐ€ ๊ฐ๊ฐ 1๊ฐœ์”ฉ ์žˆ๋‹ค. ๊ฐ๊ฐ ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋”ํ•˜๋ฉด 2, 2, 2๊ฐœ๊ฐ€ ๋œ๋‹ค.
์ด๋ฅผ ๊ณฑํ•˜๊ณ  ๋ชจ๋‘ ์•ˆ์ž…๋Š” ๊ฒฝ์šฐ์˜ ์ˆ˜ 1์„ ๋นผ์ฃผ๋ฉด 7์ด ๋‹ต์ด ๋œ๋‹ค.

๐Ÿ‘ฉ๐Ÿปโ€๐Ÿ’ป Swift Code

import Foundation

func solution(_ clothes:[[String]]) -> Int {
    var clothesDic: [String : [String]] = [:]
    var answer = 1

    for arr in clothes {
        if clothesDic.keys.contains(arr[1]) {
            clothesDic[arr[1]]?.append(arr[0])
        } else {
            clothesDic[arr[1]] = [arr[0]]
        }
    }


    for key in clothesDic.keys {
        answer *= (clothesDic[key]?.count)! + 1
    }

    return answer - 1
}

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ์œ„์žฅ

 

programmers.co.kr

 

 

BAPC 2013

Welcome! The BAPC 2013 is over. Winners of the competition were Geen Syntax, from Leiden. Second place went to geen.opdracht5 from Delft, followed by Algorithmics Anonymous in third, representing Utrecht. The best company team was Innovattic. The entire sc

2013.bapc.eu

 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2025/04   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
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
๊ธ€ ๋ณด๊ด€ํ•จ