ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 1) - ๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ

2023. 8. 22. 14:48ยท ๐Ÿ’ฏ Coding Test/์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ

1) ๋ฌธ์ œ ์„ค๋ช…

  • ์–€์—์„œ๋Š” ๋งค๋…„ ๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ๊ฐ€ ์—ด๋ฆฝ๋‹ˆ๋‹ค.

 

  • ํ•ด์„ค์ง„๋“ค์€ ์„ ์ˆ˜๋“ค์ด ์ž๊ธฐ ๋ฐ”๋กœ ์•ž์˜ ์„ ์ˆ˜๋ฅผ ์ถ”์›”ํ•  ๋•Œ ์ถ”์›”ํ•œ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ๋ถ€๋ฆ…๋‹ˆ๋‹ค.

 

  • ์˜ˆ๋ฅผ ๋“ค์–ด 1๋“ฑ๋ถ€ํ„ฐ 3๋“ฑ๊นŒ์ง€ "mumu", "soe", "poe" ์„ ์ˆ˜๋“ค์ด ์ˆœ์„œ๋Œ€๋กœ ๋‹ฌ๋ฆฌ๊ณ  ์žˆ์„ ๋•Œ, ํ•ด์„ค์ง„์ด "soe"์„ ์ˆ˜๋ฅผ ๋ถˆ๋ €๋‹ค๋ฉด 2๋“ฑ์ธ "soe" ์„ ์ˆ˜๊ฐ€ 1๋“ฑ์ธ "mumu" ์„ ์ˆ˜๋ฅผ ์ถ”์›”ํ–ˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

 

  • ์ฆ‰ "soe" ์„ ์ˆ˜๊ฐ€ 1๋“ฑ, "mumu" ์„ ์ˆ˜๊ฐ€ 2๋“ฑ์œผ๋กœ ๋ฐ”๋€๋‹ˆ๋‹ค.

 

  • ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์ด 1๋“ฑ๋ถ€ํ„ฐ ํ˜„์žฌ ๋“ฑ์ˆ˜ ์ˆœ์„œ๋Œ€๋กœ ๋‹ด๊ธด ๋ฌธ์ž์—ด ๋ฐฐ์—ด players์™€ ํ•ด์„ค์ง„์ด ๋ถ€๋ฅธ ์ด๋ฆ„์„ ๋‹ด์€ ๋ฌธ์ž์—ด ๋ฐฐ์—ด callings๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฒฝ์ฃผ๊ฐ€ ๋๋‚ฌ์„ ๋•Œ ์„ ์ˆ˜๋“ค์˜ ์ด๋ฆ„์„ 1๋“ฑ๋ถ€ํ„ฐ ๋“ฑ์ˆ˜ ์ˆœ์„œ๋Œ€๋กœ ๋ฐฐ์—ด์— ๋‹ด์•„ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

 

2) ์ œํ•œ ์‚ฌํ•ญ

  • 5 โ‰ค players์˜ ๊ธธ์ด โ‰ค 50,000

 

  • players[i]๋Š” i๋ฒˆ์งธ ์„ ์ˆ˜์˜ ์ด๋ฆ„์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

 

  • players์˜ ์›์†Œ๋“ค์€ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  • players์—๋Š” ์ค‘๋ณต๋œ ๊ฐ’์ด ๋“ค์–ด๊ฐ€ ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

  • 3 โ‰ค players[i]์˜ ๊ธธ์ด โ‰ค 10

 

  • 2 โ‰ค callings์˜ ๊ธธ์ด โ‰ค 1,000,000

 

  • callings๋Š” players์˜ ์›์†Œ๋“ค๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.

 

  • ๊ฒฝ์ฃผ ์ง„ํ–‰์ค‘ 1๋“ฑ์ธ ์„ ์ˆ˜์˜ ์ด๋ฆ„์€ ๋ถˆ๋ฆฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

 

3) ์ž…์ถœ๋ ฅ ์˜ˆ์ œ

players    callings    result
["mumu", "soe", "poe", "kai", "mine"]    ["kai", "kai", "mine", "mine"]    ["mumu", "kai", "mine", "soe", "poe"]

 

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

์ž…์ถœ๋ ฅ ์˜ˆ #1

4๋“ฑ์ธ "kai" ์„ ์ˆ˜๊ฐ€ 2๋ฒˆ ์ถ”์›”ํ•˜์—ฌ 2๋“ฑ์ด ๋˜๊ณ  ์•ž์„œ 3๋“ฑ, 2๋“ฑ์ธ "poe", "soe" ์„ ์ˆ˜๋Š” 4๋“ฑ, 3๋“ฑ์ด ๋ฉ๋‹ˆ๋‹ค. 
5๋“ฑ์ธ "mine" ์„ ์ˆ˜๊ฐ€ 2๋ฒˆ ์ถ”์›”ํ•˜์—ฌ 4๋“ฑ, 3๋“ฑ์ธ "poe", "soe" ์„ ์ˆ˜๊ฐ€ 5๋“ฑ, 4๋“ฑ์ด ๋˜๊ณ  ๊ฒฝ์ฃผ๊ฐ€ ๋๋‚ฉ๋‹ˆ๋‹ค. 
1๋“ฑ๋ถ€ํ„ฐ ๋ฐฐ์—ด์— ๋‹ด์œผ๋ฉด ["mumu", "kai", "mine", "soe", "poe"]์ด ๋ฉ๋‹ˆ๋‹ค.

 

5) ํ’€์ด

def solution(players, callings):
    # playerDict ์„ ์–ธ (key : ํ”Œ๋ ˆ์ด์–ด ์ด๋ฆ„, value : ํ”Œ๋ ˆ์ด์–ด ์ธ๋ฑ์Šค)
    playerDict = dict()

    # playerDict ์ดˆ๊ธฐํ™”
    for idx, player in enumerate(players):
        playerDict[player] = idx

    # callings ๋ฐฐ์—ด ๋ฐ˜๋ณต
    for player in callings:

        # ์•ž์ง€๋ฅธ ์„ ์ˆ˜์˜ ์ธ๋ฑ์Šค 
        idx = playerDict.get(player)

        # ๋’ค์ณ์ง„ ์„ ์ˆ˜์˜ ์ด๋ฆ„
        frontPlayer = players[idx - 1]

        # ์ธ๋ฑ์Šค ์ˆ˜์ •
        playerDict[player] = idx - 1
        playerDict[frontPlayer] = idx

        players[idx - 1] = player
        players[idx] = frontPlayer

    return players

 

[Reference]

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

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

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

programmers.co.kr

 

๋ฐ˜์‘ํ˜•

'๐Ÿ’ฏ Coding Test > ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ  (0) 2023.09.05
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜  (1) 2023.08.22
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ  (1) 2023.08.21
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ๊ฒŒ์ž„ ๋งต ์ตœ๋‹จ๊ฑฐ๋ฆฌ  (1) 2023.08.21
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ๊ตฌ๋ช…๋ณดํŠธ  (1) 2023.08.17
'๐Ÿ’ฏ Coding Test/์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ์˜คํ”ˆ์ฑ„ํŒ…๋ฐฉ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ์—ฐ์† ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ํ–‰๋ ฌ์˜ ๊ณฑ์…ˆ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 2) - ๊ฒŒ์ž„ ๋งต ์ตœ๋‹จ๊ฑฐ๋ฆฌ
KR_DEV
KR_DEV
๊ณต๋ถ€์šฉ ๋ธ”๋กœ๊ทธ์ž…๋‹ˆ๋‹ค. :)
๋ฐ˜์‘ํ˜•
KR_DEV
All about IT
KR_DEV
์ „์ฒด
์˜ค๋Š˜
์–ด์ œ
  • ์ „์ฒด (139)
    • ๐Ÿ“š ์—ฐ์žฌ ์‹œ๋ฆฌ์ฆˆ (19)
      • ์ฃผ๋‹ˆ์–ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์•Œ๋ฉด ์ข‹์„ ๋‚ด์šฉ (11)
      • ์ž์ฃผ ์“ฐ์ด๋Š” IT ์šฉ์–ด ์ •๋ฆฌ (6)
      • ์žก๋‹คํ•œ IT ์ •๋ณด (2)
    • ๐ŸŽฎ Toy Project (1)
    • ๐Ÿ’ฏ Coding Test (35)
      • ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ…Œ์ŠคํŠธ (14)
      • SQL ํ…Œ์ŠคํŠธ (21)
    • ๐Ÿ’ป Computer Science (14)
      • Hardware (4)
      • Operating System (3)
      • Network (4)
      • Database (3)
      • Data Structures (0)
      • Algorithms (0)
    • ๐ŸŒ Front End (0)
      • HTML5 (0)
      • CSS3 (0)
    • ๐Ÿ‘จโ€๐Ÿ’ป Back End (30)
      • Spring (5)
      • MySQL (12)
      • Redis (3)
      • OOP (0)
      • Design Pattern (0)
      • HTTP (2)
      • Servlet (1)
      • JDBC (7)
      • MSA (0)
    • ๐Ÿ› ๏ธ Devops (12)
      • HAProxy (1)
      • Linux (6)
      • Virtual Machine (4)
      • Container (0)
      • Ansible (1)
    • ๐Ÿง Programming (20)
      • Java (10)
      • Python (10)
    • ๐ŸŒฅ๏ธ Cloud (2)
      • AWS (1)
      • Oracle Cloud (0)
    • ๐Ÿ’พ Storage (5)
      • MiniO (3)
    • ๐Ÿ” Security & Hacking (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ํ™ˆ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

  • ๊ตฌ๊ธ€ ์• ๋“œ์„ผ์Šค ํ†ต๊ณผํ–ˆ๋„ค์š” !!!
  • ์•ˆ๋…•ํ•˜์„ธ์š”.

์ธ๊ธฐ ๊ธ€

hELLO ยท Designed By ์ •์ƒ์šฐ.v4.2.2
KR_DEV
ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค (Lv 1) - ๋‹ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”

๊ฐœ์ธ์ •๋ณด

  • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
  • ํฌ๋Ÿผ
  • ๋กœ๊ทธ์ธ

๋‹จ์ถ•ํ‚ค

๋‚ด ๋ธ”๋กœ๊ทธ

๋‚ด ๋ธ”๋กœ๊ทธ - ๊ด€๋ฆฌ์ž ํ™ˆ ์ „ํ™˜
Q
Q
์ƒˆ ๊ธ€ ์“ฐ๊ธฐ
W
W

๋ธ”๋กœ๊ทธ ๊ฒŒ์‹œ๊ธ€

๊ธ€ ์ˆ˜์ • (๊ถŒํ•œ ์žˆ๋Š” ๊ฒฝ์šฐ)
E
E
๋Œ“๊ธ€ ์˜์—ญ์œผ๋กœ ์ด๋™
C
C

๋ชจ๋“  ์˜์—ญ

์ด ํŽ˜์ด์ง€์˜ URL ๋ณต์‚ฌ
S
S
๋งจ ์œ„๋กœ ์ด๋™
T
T
ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ ์ด๋™
H
H
๋‹จ์ถ•ํ‚ค ์•ˆ๋‚ด
Shift + /
โ‡ง + /

* ๋‹จ์ถ•ํ‚ค๋Š” ํ•œ๊ธ€/์˜๋ฌธ ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด์šฉ ๊ฐ€๋Šฅํ•˜๋ฉฐ, ํ‹ฐ์Šคํ† ๋ฆฌ ๊ธฐ๋ณธ ๋„๋ฉ”์ธ์—์„œ๋งŒ ๋™์ž‘ํ•ฉ๋‹ˆ๋‹ค.