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

๐Ÿ–ฅ ๋ฌธ์ œ

์ˆ˜ํฌ์ž๋Š” ์ˆ˜ํ•™์„ ํฌ๊ธฐํ•œ ์‚ฌ๋žŒ์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž ์‚ผ์ธ๋ฐฉ์€ ๋ชจ์˜๊ณ ์‚ฌ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์ „๋ถ€ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž๋Š” 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐ์Šต๋‹ˆ๋‹ค.
1๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€์˜ ์ •๋‹ต์ด ์ˆœ์„œ๋Œ€๋กœ ๋“ค์€ ๋ฐฐ์—ด answers๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ๊ฐ€์žฅ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋งžํžŒ ์‚ฌ๋žŒ์ด ๋ˆ„๊ตฌ์ธ์ง€ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

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

๊ฐ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š” ๋ฐฉ์‹์„ ๋‹ด์€ 3๊ฐœ์˜ ๋ฐฐ์—ด๊ณผ 3๋ช…์˜ ์ ์ˆ˜๋ฅผ ๋‹ด์„ score ๋ฐฐ์—ด์„ ํ•˜๋‚˜ ๋งŒ๋“ค์–ด์ค€๋‹ค.
๋ฐฐ์—ด์˜ 0๋ฒˆ์งธ๋Š” 1๋ฒˆ ์ˆ˜ํฌ์ž์˜ ์ ์ˆ˜, 1๋ฒˆ์งธ๋Š” 2๋ฒˆ ์ˆ˜ํฌ์ž์˜ ์ ์ˆ˜, 2๋ฒˆ์งธ๋Š” 3๋ฒˆ ์ˆ˜ํฌ์ž์˜ ๋ฐฐ์—ด์„ ์ €์žฅํ•  ๊ฒƒ์ด๋‹ค.

for๋ฌธ์„ ๋Œ๋ฉฐ answers์™€ 3๋ช…์˜ ๋‹ต์„ ๊ฐ๊ฐ ๋น„๊ตํ•˜์—ฌ ๊ฐ™์„ ๊ฒฝ์šฐ score์— 1์„ ๋”ํ•ด์ค€๋‹ค.
์ด๋•Œ % ์—ฐ์‚ฐ์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ 0, 1, 2, 3, 4, 5, 0, 1, 2, 3, 4, ... ์™€ ๊ฐ™์€ ์ˆœ์„œ๋กœ ๋น„๊ตํ•œ๋‹ค.
๋‹ต์„ ๋‹ค ๋น„๊ตํ•œ ํ›„์— ๊ฐ€์žฅ ๋งŽ์€ ๋ฌธ์ œ๋ฅผ ๋งžํžŒ ๊ฐœ์ˆ˜๋ฅผ max์— ์ €์žฅํ•œ๋‹ค.
๊ทธ ํ›„ ๋‹ค์‹œ for๋ฌธ์„ ๋Œ๋ฉฐ max๊ฐœ์˜ ๋‹ต์„ ๋งžํžŒ ์ˆ˜ํฌ์ž์˜ ๋ฒˆํ˜ธ๋ฅผ ์ €์žฅํ•˜์—ฌ ์ด๋ฅผ ๋ฆฌํ„ดํ•˜์˜€๋‹ค.

๋”•์…”๋„ˆ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ’€๋ฉด ๋” ์ง๊ด€์ ์ด๊ฒŒ ์ฝ”๋“œ๋ฅผ ์งค ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

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

import Foundation

func solution(_ answers:[Int]) -> [Int] {
    var person1 = [1, 2, 3, 4, 5]
    var person2 = [2, 1, 2, 3, 2, 4, 2, 5]
    var person3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5]
    var score = [0, 0, 0]
    var answer: [Int] = []

    for i in 0..<answers.count {
        if answers[i] == person1[i % 5] {
            score[0] += 1
        }
        if answers[i] == person2[i % 8] {
            score[1] += 1
        }
        if answers[i] == person3[i % 10] {
            score[2] += 1
        }
    }

    let max = score.max()!

    for i in 0..<score.count {
        if score[i] == max {
            answer.append(i + 1)
        }
    }

    return answer
}

 

 

์ฝ”๋”ฉํ…Œ์ŠคํŠธ ์—ฐ์Šต - ๋ชจ์˜๊ณ ์‚ฌ

์ˆ˜ํฌ์ž๋Š” ์ˆ˜ํ•™์„ ํฌ๊ธฐํ•œ ์‚ฌ๋žŒ์˜ ์ค€๋ง์ž…๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž ์‚ผ์ธ๋ฐฉ์€ ๋ชจ์˜๊ณ ์‚ฌ์— ์ˆ˜ํ•™ ๋ฌธ์ œ๋ฅผ ์ „๋ถ€ ์ฐ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜ํฌ์ž๋Š” 1๋ฒˆ ๋ฌธ์ œ๋ถ€ํ„ฐ ๋งˆ์ง€๋ง‰ ๋ฌธ์ œ๊นŒ์ง€ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์ฐ์Šต๋‹ˆ๋‹ค. 1๋ฒˆ ์ˆ˜ํฌ์ž๊ฐ€ ์ฐ๋Š”

programmers.co.kr

 

๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
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
๊ธ€ ๋ณด๊ด€ํ•จ