์นด๋“œ ์—ญ๋ฐฐ์น˜ - ๋ฐฑ์ค€(Swift)

2022. 10. 8. 10:51ใ†Algorithm

์นด๋“œ ์—ญ๋ฐฐ์น˜ - ๋ฐฑ์ค€(Swift)

 

 

 ๋ฌธ์ œ ์„ค๋ช…

 

https://www.acmicpc.net/problem/10804

 

10804๋ฒˆ: ์นด๋“œ ์—ญ๋ฐฐ์น˜

1๋ถ€ํ„ฐ 20๊นŒ์ง€ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ๋†“์ธ ์นด๋“œ๋“ค์— ๋Œ€ํ•ด, ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ 10๊ฐœ์˜ ๊ตฌ๊ฐ„ ์ˆœ์„œ๋Œ€๋กœ ๋’ค์ง‘๋Š” ์ž‘์—…์„ ํ–ˆ์„ ๋•Œ ๋งˆ์ง€๋ง‰ ์นด๋“œ๋“ค์˜ ๋ฐฐ์น˜๋ฅผ ํ•œ ์ค„์— ์ถœ๋ ฅํ•œ๋‹ค. 

www.acmicpc.net

 

 

 ๋‚˜์˜ ํ’€์ด

 

ํŠน์ • Range๋งŒํผ ์Šฌ๋ผ์ด์Šคํ•ด์„œ reversed()ํ›„ ๋Œ€์ž…์‹œํ‚ค๋ฉด ๋˜๋Š” ์‰ฌ์šด ๋ฌธ์ œ์˜€์ง€๋งŒ ์Šค์œ„ํ”„ํŠธ์˜ ReversedCollectionType, Arrayํƒ€์ž…, ArraySliceํƒ€์ž…์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๊ตฌ๋ถ„๋˜์–ด์žˆ๋‹ค๋Š” ๊ฑธ ์•Œ๊ฒŒ ๋œ ๋ฌธ์ œ ์˜€๋‹ค.

 

์ฒ˜์Œ Reversed()ํ•œ ๋’ค์— ๋Œ€์ž…์„ ํ•˜๋‹ˆ ReversedCollection์€ Sliceํƒ€์ž…์— ๋Œ€์ž…ํ•  ์ˆ˜ ์—†๋‹ค๊ณ  ๋‚˜์™€์„œ mapํ›„์— ๋ฐฐ์—ด์„ ๋„ฃ์—ˆ๋”๋‹ˆ ์ด๋ฒˆ์—” Array๋ฅผ ArraySlice์— ๋„ฃ์ง€ ๋ชปํ•œ๋‹ค๊ณ  ๋‚˜์™”๋‹ค.

 

๊ทธ๋ž˜์„œ ๋งˆ์ง€๋ง‰์— ArraySlice๋กœ ํ˜• ๋ณ€ํ™˜์„ ํ•ด์„œ ํ•ด๊ฒฐํ–ˆ๋‹ค.

 

import Foundation

var arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20]
for _ in 0..<10 {
  let input = readLine()!
  let result = Array(input.components(separatedBy: " ")).map{Int($0)!}
  arr[result[0]...result[1]] = ArraySlice(arr[result[0]...result[1]].reversed())
}
for i in 1...20 {
  print(arr[i], terminator: " ")
}

 

 

 ํ”ผ๋“œ๋ฐฑ

 

๋ฐฐ์—ด์„ ์ดˆ๊ธฐํ™” ํ•  ๋•Œ๋Š” Array(0...20)์„ ์‚ฌ์šฉํ•˜์ž.

๋ฐฐ์—ด์˜ ๋ฒ”์œ„์— ๊ฐ’์„ ํ• ๋‹นํ•  ๋•Œ๋Š” ArraySlice๋กœ ํ˜•๋ณ€ํ™˜ํ•ด์„œ ๋„ฃ์–ด์ค˜์•ผํ•œ๋‹ค.

'Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€ - ATM(Swift)  (0) 2022.10.22
๋ฐฑ์ค€ - ์„คํƒ• ๋ฐฐ๋‹ฌ(Swift)  (0) 2022.10.22
์ˆซ์ž๋งŒ ์ถ”์ถœ  (0) 2022.10.07
๋ฐฑ์ค€ - ํšŒ๋ฌธ(Swift)  (0) 2022.10.06
ํšŒ๋ฌธ ๋ฌธ์ž์—ด ๊ฒ€์‚ฌ(Swift)  (1) 2022.10.05