๐Ÿงฉ Algorithm/SWEA

[SWEA] 4676. ๋Š˜์–ด์ง€๋Š” ์†Œ๋ฆฌ ๋งŒ๋“ค๊ธฐ (Python/D3)

devCloud 2024. 11. 4. 21:23
728x90

[๋ฌธ์ œ ๋งํฌ] ๐Ÿ‘‡

 

SW Expert Academy

SW ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์—ญ๋Ÿ‰ ๊ฐ•ํ™”์— ๋„์›€์ด ๋˜๋Š” ๋‹ค์–‘ํ•œ ํ•™์Šต ์ปจํ…์ธ ๋ฅผ ํ™•์ธํ•˜์„ธ์š”!

swexpertacademy.com


ํ’€์ด

๐Ÿ’ก ์ฃผ์˜ํ•  ์  : ํ•˜์ดํ”ˆ์„ ๋„ฃ์€ ํ›„์— ๊ธฐ์กด ๋ฌธ์ž์—ด ์œ„์น˜ ๋ณ€๋™

 

ํ•˜์ดํ”ˆ์„ ์‚ฝ์ž…ํ•˜๋Š” ๋ฐฉ๋ฒ•

str.insert(i, x)
  • str ๋ฌธ์ž์—ด์˜ i ์œ„์น˜ ์•ž์— x ๋ฅผ ์‚ฝ์ž…ํ•œ๋‹ค. 

Solution

T = int(input())  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜
for test_case in range(1, T + 1):
    word = list(input().strip())  # ๋ฌธ์ž์—ด
    h = int(input())  # ํ•˜์ดํ”ˆ ๊ฐœ์ˆ˜
    hyphen = sorted(list(map(int, input().split())))  # ํ•˜์ดํ”ˆ ์œ„์น˜ ์ •๋ ฌ

    for i in range(h): 
        word.insert(hyphen[i], '-')  # ํ•˜์ดํ”ˆ ๋„ฃ๊ธฐ
        for j in range(i + 1, h):  # ๋‹ค์Œ ํ•˜์ดํ”ˆ๋“ค์˜ ์œ„์น˜๋ฅผ ์ฆ๊ฐ€์‹œํ‚ด
            hyphen[j] += 1

    print(f"#{test_case} {''.join(word)}")

 

๊ฐœ์„ ํ•  ์ 

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

 

 

๊ฐœ์„ ๋œ ์ฝ”๋“œ

T = int(input())  # ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ˆ˜
for test_case in range(1, T + 1):
    word = list(input().strip())  # ๋ฌธ์ž์—ด
    h = int(input())  # ํ•˜์ดํ”ˆ ๊ฐœ์ˆ˜
    hyphen = list(map(int, input().split()))  # ํ•˜์ดํ”ˆ ์œ„์น˜

    # ํ•˜์ดํ”ˆ ์œ„์น˜๋ฅผ ์˜ค๋ฅธ์ชฝ์—์„œ ์™ผ์ชฝ ์ˆœ์„œ๋กœ ์ฒ˜๋ฆฌ
    for idx in sorted(hyphen, reverse=True):
        word.insert(idx, '-')

    print(f"#{test_case} {''.join(word)}")

 

 

๐Ÿ‘ฉ‍๐Ÿ’ป ํšŒ๊ณ 

ํ•˜์ดํ”ˆ์„ ๋’ค์—์„œ๋ถ€ํ„ฐ ์ถ”๊ฐ€ํ•˜๋ฉด ๋œ๋‹ค๋‹ˆ.. ์™„์ „ ๊ฐ„๋‹จํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์—ˆ๋‹ค. ์•ฝ๊ฐ„ ์•„์‰ฝ๋‹ค.


 

728x90